diff --git a/lib/order.c b/lib/order.c index c0ef547..0dcf129 100644 --- a/lib/order.c +++ b/lib/order.c @@ -557,7 +557,8 @@ int rpmtsOrder(rpmts ts) (void) rpmswEnter(rpmtsOp(ts, RPMTS_OP_ORDER), 0); /* Create erased package index. */ - erasedPackages = rpmtsCreateAl(ts, TR_REMOVED); + if (nelem) + erasedPackages = rpmtsCreateAl(ts, TR_REMOVED); for (int i = 0; i < nelem; i++) { sortInfo[i].te = tsmem->order[i]; @@ -647,7 +648,8 @@ int rpmtsOrder(rpmts ts) free(SCCs[i].members); } free(SCCs); - rpmalFree(erasedPackages); + if (nelem) + rpmalFree(erasedPackages); (void) rpmswExit(rpmtsOp(ts, RPMTS_OP_ORDER), 0);