Skip to content

Commit

Permalink
Don't segfault on missing priority tag
Browse files Browse the repository at this point in the history
  • Loading branch information
ffesti authored and pmatilai committed Aug 25, 2021
1 parent ddb3977 commit fd57fc7
Showing 1 changed file with 5 additions and 2 deletions.
7 changes: 5 additions & 2 deletions lib/rpmtriggers.c
Original file line number Diff line number Diff line change
Expand Up @@ -517,7 +517,8 @@ rpmRC runFileTriggers(rpmts ts, rpmte te, rpmsenseFlags sense,
if (matchFunc(ts, te, pfx, sense)) {
for (i = 0; i < rpmdbIndexIteratorNumPkgs(ii); i++) {
struct rpmtd_s priorities;
unsigned int priority;
unsigned int priority = 0;
unsigned int *priority_ptr;
unsigned int offset = rpmdbIndexIteratorPkgOffset(ii, i);
unsigned int tix = rpmdbIndexIteratorTagNum(ii, i);

Expand All @@ -535,7 +536,9 @@ rpmRC runFileTriggers(rpmts ts, rpmte te, rpmsenseFlags sense,
trigH = rpmdbGetHeaderAt(rpmtsGetRdb(ts), offset);
headerGet(trigH, priorityTag, &priorities, HEADERGET_MINMEM);
rpmtdSetIndex(&priorities, tix);
priority = *rpmtdGetUint32(&priorities);
priority_ptr = rpmtdGetUint32(&priorities);
if (priority_ptr)
priority = *priority_ptr;
headerFree(trigH);

/* Store file trigger in array */
Expand Down

0 comments on commit fd57fc7

Please sign in to comment.