From 810c3e9609f2de95b55371be90e598aa84c1bbc7 Mon Sep 17 00:00:00 2001 From: miker Date: Wed, 11 Jul 2007 03:15:39 +0000 Subject: [PATCH] Backporting possible buffer overflow fix from Scott McKellar. git-svn-id: svn://svn.open-ils.org/OpenSRF/branches/STABLE_0_9@1021 9efc2488-bf62-4759-914b-345cdb29e865 --- src/srfsh/srfsh.c | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/src/srfsh/srfsh.c b/src/srfsh/srfsh.c index 9887038..d7aba84 100644 --- a/src/srfsh/srfsh.c +++ b/src/srfsh/srfsh.c @@ -120,19 +120,15 @@ int parse_error( char* words[] ) { if( ! words ) return 0; - - int i = 0; - char* current; - char buffer[256]; - memset(buffer, 0, 256); - while( (current=words[i++]) ) { - strcat(buffer, current); - strcat(buffer, " "); + growing_buffer * gbuf = buffer_init( 64 ); + buffer_add( gbuf, *words ); + while( *++words ) { + buffer_add( gbuf, " " ); + buffer_add( gbuf, *words ); } - if( ! buffer || strlen(buffer) < 1 ) - printf("\n"); + fprintf( stderr, "???: %s\n", gbuf->buf ); + buffer_free( gbuf ); - fprintf( stderr, "???: %s\n", buffer ); return 0; } -- 2.11.0