shell32 patch 28

Martin Fuchs martin-fuchs at gmx.net
Thu Apr 1 13:30:55 CST 2004


Changelog:
_ILCreateFolder(), _ILCreateValue(): check for NULL in AlternateFileName


Index: pidl.c
===================================================================
RCS file: /home/wine/wine/dlls/shell32/pidl.c,v
retrieving revision 1.107
diff -u -p -d -r1.107 pidl.c
--- pidl.c	27 Mar 2004 01:42:22 -0000	1.107
+++ pidl.c	1 Apr 2004 19:29:29 -0000
@@ -1582,8 +1582,16 @@ LPITEMIDLIST _ILCreateFolder( WIN32_FIND
 	memcpy (pbuff, stffile->cFileName, len);
 	pbuff += len;
 
-	len1 = strlen (stffile->cAlternateFileName)+1;
-	memcpy (pbuff, stffile->cAlternateFileName, len1);
+	if (stffile->cAlternateFileName)
+	{
+	  len1 = strlen (stffile->cAlternateFileName)+1;
+	  memcpy (pbuff, stffile->cAlternateFileName, len1);
+	}
+	else
+	{
+	  len1 = 1;
+	  *pbuff = 0x00;
+	}
 
 	pidl = _ILCreate(PT_FOLDER, (LPVOID)buff, len + len1);
 
@@ -1614,8 +1622,16 @@ LPITEMIDLIST _ILCreateValue(WIN32_FIND_D
 	memcpy (pbuff, stffile->cFileName, len);
 	pbuff += len;
 
-	len1 = strlen (stffile->cAlternateFileName)+1;
-	memcpy (pbuff, stffile->cAlternateFileName, len1);
+	if (stffile->cAlternateFileName)
+	{
+	  len1 = strlen (stffile->cAlternateFileName)+1;
+	  memcpy (pbuff, stffile->cAlternateFileName, len1);
+	}
+	else
+	{
+	  len1 = 1;
+	  *pbuff = 0x00;
+	}
 
 	pidl = _ILCreate(PT_VALUE, (LPVOID)buff, len + len1);
 





More information about the wine-patches mailing list