RPM Package Manager, CVS Repository
  http://rpm5.org/cvs/
  ____________________________________________________________________________

  Server: rpm5.org                         Name:   Olivier Thauvin
  Root:   /v/rpm/cvs                       Email:  [EMAIL PROTECTED]
  Module: rpm                              Date:   01-Nov-2007 18:12:34
  Branch: HEAD                             Handle: 2007110117123300

  Modified files:
    rpm/perl                RPM_Header.xs

  Log:
    - avoid segfault in case of NULL ptr return from headerSprintf

  Summary:
    Revision    Changes     Path
    1.8         +4  -13     rpm/perl/RPM_Header.xs
  ____________________________________________________________________________

  patch -p0 <<'@@ .'
  Index: rpm/perl/RPM_Header.xs
  ============================================================================
  $ cvs diff -u -r1.7 -r1.8 RPM_Header.xs
  --- rpm/perl/RPM_Header.xs    12 Sep 2007 07:05:04 -0000      1.7
  +++ rpm/perl/RPM_Header.xs    1 Nov 2007 17:12:33 -0000       1.8
  @@ -25,16 +25,6 @@
   
   #include "rpmxs.h"
   
  -void
  -_populate_header_tags(HV *href)
  -{
  -    int i = 0;
  -
  -    for (i = 0; i < rpmTagTableSize; i++) {
  -        hv_store(href, rpmTagTable[i].name, strlen(rpmTagTable[i].name), 
newSViv(rpmTagTable[i].val), 0);
  -    }
  -}
  -
   MODULE = RPM::Header         PACKAGE = RPM::Header
   
   PROTOTYPES: ENABLE
  @@ -131,11 +121,12 @@
        Header h
        char * format
       PREINIT:
  -     char * s;
  +     const char * s;
       PPCODE:
        s =  headerSprintf(h, format, rpmTagTable, rpmHeaderFormats, NULL);
  -     PUSHs(sv_2mortal(newSVpv((char *)s, 0)));
  -     s = _free(s);
  +    if (s)
  +         PUSHs(sv_2mortal(newSVpv((char *)s, 0)));
  +     s = _free(s); 
   
   # Write rpm header into file pointer
   # fedora use HEADER_MAGIC_NO, too bad, set no_header_magic make the function
  @@ .
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
CVS Sources Repository                                rpm-cvs@rpm5.org

Reply via email to