rpms/logrotate/devel logrotate-3.7.2-fix_free_segfaults.patch, NONE, 1.1 logrotate.spec, 1.32, 1.33

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Sat Oct 15 12:27:07 UTC 2005


Author: pvrabec

Update of /cvs/dist/rpms/logrotate/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv12329

Modified Files:
	logrotate.spec 
Added Files:
	logrotate-3.7.2-fix_free_segfaults.patch 
Log Message:
 fix_free_segfaults (#170904)


logrotate-3.7.2-fix_free_segfaults.patch:
 logrotate.c |   47 +++++++++++++++++++++-----------------!!!!!!!!!
 1 files changed, 21 insertions(+), 17 deletions(-), 9 modifications(!)

--- NEW FILE logrotate-3.7.2-fix_free_segfaults.patch ---
*** logrotate-3.7.2/logrotate.c	2005-10-14 03:06:14.000000000 +0200
--- logrotate-3.7.2/logrotate.c.fix_free_segfault	2005-10-14 03:02:00.000000000 +0200
***************
*** 64,93 ****
      return 1;
  }
  
! static void free_loginfo(logInfo ** logsPtr, int * numLogsPtr) {
! 
      int i;
  
-     if ((*logsPtr)->pattern)       free((*logsPtr)->pattern);
-     if ((*logsPtr)->oldDir)        free((*logsPtr)->oldDir);
-     if ((*logsPtr)->pre)           free((*logsPtr)->pre);
-     if ((*logsPtr)->post)          free((*logsPtr)->post);
-     if ((*logsPtr)->first)         free((*logsPtr)->first);
-     if ((*logsPtr)->last)          free((*logsPtr)->last);
-     if ((*logsPtr)->logAddress)    free((*logsPtr)->logAddress);
-     if ((*logsPtr)->extension)     free((*logsPtr)->extension);
-     if ((*logsPtr)->rotatePattern) free((*logsPtr)->rotatePattern);
- 
-     for (i = 0; i < (*logsPtr)->numFiles; i++)
- 	free((*logsPtr)->files[i]);
-     free((*logsPtr)->files);
- 
-     for (i = 0; i < (*logsPtr)->compress_options_count; i++)
- 	free((char *) (*logsPtr)->compress_options_list[i]);
-     free((*logsPtr)->compress_options_list);
  
      for (i = 0; i < *numLogsPtr; i++)
! 	free(logsPtr[i]);
  }
  
  static logState * findState(const char * fn, struct stateSet * sip) {
--- 64,100 ----
      return 1;
  }
  
! static void free_single_loginfo_item(logInfo *itemPtr)
! {
      int i;
+     if (itemPtr->pattern)       free(itemPtr->pattern);
+     if (itemPtr->oldDir)        free(itemPtr->oldDir);
+     if (itemPtr->pre)           free(itemPtr->pre);
+     if (itemPtr->post)          free(itemPtr->post);
+     if (itemPtr->first)         free(itemPtr->first);
+     if (itemPtr->last)          free(itemPtr->last);
+     if (itemPtr->logAddress)    free(itemPtr->logAddress);
+     if (itemPtr->extension)     free(itemPtr->extension);
+     if (itemPtr->rotatePattern) free(itemPtr->rotatePattern);
+ 
+     for (i = 0; i < itemPtr->numFiles; i++)
+ 	free(itemPtr->files[i]);
+     free(itemPtr->files);
+ 
+     for (i = 0; i < itemPtr->compress_options_count; i++)
+ 	free((char *) itemPtr->compress_options_list[i]);
+ 
+     free(itemPtr->compress_options_list);
+ }
  
  
+ static void free_loginfo(logInfo ** logsPtr, int * numLogsPtr) {
+     int i;
      for (i = 0; i < *numLogsPtr; i++)
! 	    free_single_loginfo_item(*logsPtr + i);
! 
!     // free the whole block which was realloc'ed 
!     free(*logsPtr);
  }
  
  static logState * findState(const char * fn, struct stateSet * sip) {


Index: logrotate.spec
===================================================================
RCS file: /cvs/dist/rpms/logrotate/devel/logrotate.spec,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- logrotate.spec	12 Oct 2005 12:23:34 -0000	1.32
+++ logrotate.spec	15 Oct 2005 12:27:04 -0000	1.33
@@ -5,7 +5,7 @@
 Summary: Rotates, compresses, removes and mails system log files.
 Name: logrotate
 Version: 3.7.2
-Release: 6
+Release: 7
 License: GPL
 Group: System Environment/Base
 Source: logrotate-%{PACKAGE_VERSION}.tar.gz
@@ -15,6 +15,7 @@
 Patch3: logrotate-3.7.2-debugCompress.patch
 Patch4: logrotate-3.7.2-fixLeaks.patch
 Patch5: logrotate-3.7.2-cleanUp.patch 
+Patch6: logrotate-3.7.2-fix_free_segfaults.patch
 
 %description
 The logrotate utility is designed to simplify the administration of
@@ -34,6 +35,7 @@
 %patch3 -p1 -b .debugCompress
 %patch4 -p1 -b .fixLeaks
 %patch5 -p1 -b .cleanUp
+%patch6 -p1 -b fix_free_segfaults
 
 %build
 make RPM_OPT_FLAGS="$RPM_OPT_FLAGS -g" \
@@ -66,6 +68,9 @@
 %attr(0644, root, root) %verify(not size md5 mtime) %config(noreplace) /var/lib/logrotate.status
 
 %changelog
+* Sat Oct 15 2005 Peter Vrabec <pvrabec at redhat.com> 3.7.2-7
+- fix_free_segfaults (#170904)
+
 * Wed Oct 12 2005 Peter Vrabec <pvrabec at redhat.com> 3.7.2-6
 - code clean up (#169885)
 




More information about the fedora-cvs-commits mailing list