aboutsummaryrefslogtreecommitdiffstats
path: root/URPM.xs
diff options
context:
space:
mode:
Diffstat (limited to 'URPM.xs')
-rw-r--r--URPM.xs8
1 files changed, 6 insertions, 2 deletions
diff --git a/URPM.xs b/URPM.xs
index f4ac459..40e3c46 100644
--- a/URPM.xs
+++ b/URPM.xs
@@ -1314,8 +1314,12 @@ static void *rpmRunTransactions_callback(const void *arg,
mPUSHs(newSViv(total));
}
// for erasures, the key provided by librpm is always 0, so let's add another parameter (fullname):
- char *s = headerGetAsString(h, RPMTAG_NVR);
- mPUSHs(newSVpv(s, 0));
+ if (h) {
+ char *s = headerGetAsString(h, RPMTAG_NVR);
+ mPUSHs(newSVpv(s, 0));
+ } else {
+ PUSHs(&PL_sv_undef);
+ }
PUTBACK;
i = call_sv(callback, callback == td->callback_open ? G_SCALAR : G_DISCARD);
SPAGAIN;