Previously, the first character written to the buffer was random (off
the
stack). Not sure why this didn't blow up for others. Make sure we fill
one character before placing one in the buffer.
Modified: trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp
_____
Modified: trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp
--- trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp 2005-09-11
08:45:02 UTC (rev 17792)
+++ trunk/reactos/tools/rbuild/backend/mingw/mingw.cpp 2005-09-11
09:19:24 UTC (rev 17793)
@@ -841,10 +841,13 @@
NUL,
NUL );
fp = popen ( versionCommand.c_str () , "r" );
- for( i = 0; ( i < 80 ) && ( feof ( fp ) == 0 ); i++ )
+ for( i = 0;
+ ( i < 80 ) &&
+ ( feof ( fp ) == 0 &&
+ ( ( ch = fgetc( fp ) ) != -1 ) );
+ i++ )
{
buffer[i] = (char) ch;
- ch = fgetc( fp );
}
buffer[i] = '\0';
pclose ( fp );