aboutsummaryrefslogtreecommitdiffstats
path: root/URPM.xs
diff options
context:
space:
mode:
Diffstat (limited to 'URPM.xs')
-rw-r--r--URPM.xs6
1 files changed, 5 insertions, 1 deletions
diff --git a/URPM.xs b/URPM.xs
index 80741b6..392704a 100644
--- a/URPM.xs
+++ b/URPM.xs
@@ -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;
}
}