aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--URPM.xs2
2 files changed, 4 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index c7d4425..95291f5 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,5 @@
+- fix a rare segfault
+
Version 4.19 - 2 December 2012
- kill pkg->disttag (unused, introduced for rpm5 prior to the fork)
diff --git a/URPM.xs b/URPM.xs
index b5579ae..4391c68 100644
--- a/URPM.xs
+++ b/URPM.xs
@@ -2435,8 +2435,10 @@ Db_traverse_tag_find(db,tag,name,callback)
ovsflags = ts_nosignature(db->ts);
mi = rpmtsInitIterator(db->ts, rpmtag, name, 0);
while ((header = rpmdbNextIterator(mi))) {
+ dSP;
int count = _run_cb_while_traversing(callback, header, 0);
+ SPAGAIN;
if (count == 1 && POPi) {
found = 1;
break;