Commits

Moshe Zadka  committed 01791a0

Checking the diff from PC/getpatchp.c 1.22 to 1.23
This fixes many bugs, and was proposed by Thomas Heller.
Original log message:
'''
Checkin updated version of patch #103933 . As Thomas says, fixes the bugs
#131064, #129584, #127722. See the discussion in bug #131064
'''

  • Participants
  • Parent commits 7d04245
  • Branches 2.0

Comments (0)

Files changed (1)

File PC/getpathp.c

    Ex family of functions so it also works with Windows CE.
 
    Returns NULL, or a pointer that should be freed.
+
+   XXX - this code is pretty strange, as it used to also
+   work on Win16, where the buffer sizes werent available
+   in advance.  It could be simplied now Win16/Win32s is dead!
 */
 
 static char *
 		}
 		RegCloseKey(subKey);
 	}
+	/* original datasize from RegQueryInfo doesn't include the \0 */
 	dataBuf = malloc((dataSize+1) * sizeof(TCHAR));
 	if (dataBuf) {
 		TCHAR *szCur = dataBuf;
 		if (skipcore)
 			*szCur = '\0';
 		else {
-			*(szCur++) = _T(';');
-			dataSize--;
+			/* If we have no values, we dont need a ';' */
+			if (numKeys) {
+				*(szCur++) = _T(';');
+				dataSize--;
+			}
 			/* Now append the core path entries - 
 			   this will include the NULL 
 			*/