diff options
-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; } } |