wine/programs/wcmd builtins.c wcmdmain.c

Alexandre Julliard julliard at wine.codeweavers.com
Thu Dec 1 11:15:29 CST 2005


ChangeSet ID:	21603
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at winehq.org	2005/12/01 11:15:29

Modified files:
	programs/wcmd  : builtins.c wcmdmain.c 

Log message:
	Rein Klazes <wijn at wanadoo.nl>
	Don't use formatted output in WCMD_setshow_sortenv.
	Don't use unsafe vsprintf in WCMD_output.

Patch: http://cvs.winehq.org/patch.py?id=21603

Old revision  New revision  Changes     Path
 1.30          1.31          +4 -2       wine/programs/wcmd/builtins.c
 1.48          1.49          +6 -1       wine/programs/wcmd/wcmdmain.c

Index: wine/programs/wcmd/builtins.c
diff -u -p wine/programs/wcmd/builtins.c:1.30 wine/programs/wcmd/builtins.c:1.31
--- wine/programs/wcmd/builtins.c:1.30	1 Dec 2005 17:15:29 -0000
+++ wine/programs/wcmd/builtins.c	1 Dec 2005 17:15:29 -0000
@@ -792,8 +792,10 @@ static void WCMD_setshow_sortenv(const c
   qsort( str, count, sizeof (char*), WCMD_compare );
 
   /* print it */
-  for( i=0; i<count; i++ )
-    WCMD_output("%s\n", str[i] );
+  for( i=0; i<count; i++ ) {
+      WCMD_output_asis(str[i]);
+      WCMD_output_asis("\n");
+  }
 
   LocalFree( str );
 }
Index: wine/programs/wcmd/wcmdmain.c
diff -u -p wine/programs/wcmd/wcmdmain.c:1.48 wine/programs/wcmd/wcmdmain.c:1.49
--- wine/programs/wcmd/wcmdmain.c:1.48	1 Dec 2005 17:15:29 -0000
+++ wine/programs/wcmd/wcmdmain.c	1 Dec 2005 17:15:29 -0000
@@ -789,10 +789,15 @@ void WCMD_output (const char *format, ..
 
 va_list ap;
 char string[1024];
+int ret;
 
   va_start(ap,format);
-  vsprintf (string, format, ap);
+  ret = vsnprintf (string, sizeof( string), format, ap);
   va_end(ap);
+  if( ret >= sizeof( string)) {
+       WCMD_output_asis("ERR: output truncated in WCMD_output\n" );
+       string[sizeof( string) -1] = '\0';
+  }
   WCMD_output_asis(string);
 }
 



More information about the wine-cvs mailing list