summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--RPM4/src/RPM4.xs5
1 files changed, 4 insertions, 1 deletions
diff --git a/RPM4/src/RPM4.xs b/RPM4/src/RPM4.xs
index 064d5da..257e563 100644
--- a/RPM4/src/RPM4.xs
+++ b/RPM4/src/RPM4.xs
@@ -2810,6 +2810,7 @@ Spec_binrpm(spec)
Package pkg;
const char * binFormat;
char * binRpm;
+ char * path;
PPCODE:
for(pkg = spec->packages; pkg != NULL; pkg = pkg->next) {
if (pkg->fileList == NULL)
@@ -2819,7 +2820,9 @@ Spec_binrpm(spec)
binRpm = headerSprintf(pkg->header, binFormat, rpmTagTable,
rpmHeaderFormats, NULL);
_free(binFormat);
- XPUSHs(sv_2mortal(newSVpv(rpmGetPath("%{_rpmdir}/", binRpm, NULL), 0)));
+ path = rpmGetPath("%{_rpmdir}/", binRpm, NULL);
+ XPUSHs(sv_2mortal(newSVpv(path, 0)));
+ _free(path);
_free(binRpm);
}