diff options
author | Per Øyvind Karlsen <peroyvind@mandriva.org> | 2010-10-14 14:13:03 +0000 |
---|---|---|
committer | Per Øyvind Karlsen <peroyvind@mandriva.org> | 2010-10-14 14:13:03 +0000 |
commit | faf0694e5453a78851f2fed79708ba3a8366cf66 (patch) | |
tree | 3b0a2330d77af2d170452a3f5eb998731383d0c7 | |
parent | dcd657cd1aca51741fb29f325aa1120557e39907 (diff) | |
download | perl-URPM-faf0694e5453a78851f2fed79708ba3a8366cf66.tar perl-URPM-faf0694e5453a78851f2fed79708ba3a8366cf66.tar.gz perl-URPM-faf0694e5453a78851f2fed79708ba3a8366cf66.tar.bz2 perl-URPM-faf0694e5453a78851f2fed79708ba3a8366cf66.tar.xz perl-URPM-faf0694e5453a78851f2fed79708ba3a8366cf66.zip |
fix memleak in ranges_overlap()
-rw-r--r-- | URPM.xs | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -351,6 +351,7 @@ ranges_overlap(rpmsenseFlags aflags, char *sa, rpmsenseFlags bflags, char *sb) { char *eosb = strchr(sb, ']'); EVR_t lEVR = rpmEVRnew(aflags, 0), rEVR = rpmEVRnew(bflags, 0); + int result; if(eosa) backup_char(eosa); if(eosb) backup_char(eosb); @@ -359,9 +360,12 @@ ranges_overlap(rpmsenseFlags aflags, char *sa, rpmsenseFlags bflags, char *sb) { /* TODO: upstream bug? should rpmEVRparse really reset Flags? */ lEVR->Flags = aflags; rEVR->Flags = bflags; + result = rpmEVRoverlap(lEVR, rEVR); + rpmEVRfree(lEVR); + rpmEVRfree(rEVR); restore_chars(); - return rpmEVRoverlap(lEVR, rEVR); + return result; } } |