Jan Wieck wieck at lists.slony.info
Wed Dec 9 11:44:40 PST 2009
Update of /home/cvsd/slony1/slony1-engine/src/slon
In directory main.slony.info:/tmp/cvs-serv15683

Modified Files:
      Tag: REL_1_2_STABLE
	dbutils.c misc.c 
Log Message:
Changed dbutils to use INT64_FORMAT and int64 for handling %L.

Fixed a problem in misc.c where a long stirng argument would
cause vsnprintf() to clobber the byte immediately following
the allocated output buffer with the nul terminator.


Jan


Index: dbutils.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/dbutils.c,v
retrieving revision 1.23.2.6
retrieving revision 1.23.2.7
diff -C2 -d -r1.23.2.6 -r1.23.2.7
*** dbutils.c	17 Aug 2009 17:39:57 -0000	1.23.2.6
--- dbutils.c	9 Dec 2009 19:44:38 -0000	1.23.2.7
***************
*** 481,485 ****
  
  					case 'L':
! 						sprintf(buf, "%lld", va_arg(ap, int));
  						dstring_append(dsp, buf);
  						fmt++;
--- 481,485 ----
  
  					case 'L':
! 						sprintf(buf, INT64_FORMAT, va_arg(ap, int64));
  						dstring_append(dsp, buf);
  						fmt++;

Index: misc.c
===================================================================
RCS file: /home/cvsd/slony1/slony1-engine/src/slon/misc.c,v
retrieving revision 1.22.2.3
retrieving revision 1.22.2.4
diff -C2 -d -r1.22.2.3 -r1.22.2.4
*** misc.c	17 Aug 2009 17:39:57 -0000	1.22.2.3
--- misc.c	9 Dec 2009 19:44:38 -0000	1.22.2.4
***************
*** 173,177 ****
  	off = strlen(outbuf);
  
! 	while (vsnprintf(&outbuf[off], outsize - off, fmt, ap) >= outsize - off)
  	{
  		outsize *= 2;
--- 173,177 ----
  	off = strlen(outbuf);
  
! 	while (vsnprintf(&outbuf[off], outsize - off - 1, fmt, ap) >= outsize - off - 1)
  	{
  		outsize *= 2;



More information about the Slony1-commit mailing list