From: Panu Matilainen Date: Fri, 25 Apr 2008 10:28:51 +0000 (+0300) Subject: Avoid alloca() in rpmteColorDS() X-Git-Tag: rpm-4.6.0-rc1~759 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a2addde0f041531a47dbb20ba8d8cc5a5de1488f;p=platform%2Fupstream%2Frpm.git Avoid alloca() in rpmteColorDS() --- diff --git a/lib/rpmte.c b/lib/rpmte.c index 604be1c..edb28ea 100644 --- a/lib/rpmte.c +++ b/lib/rpmte.c @@ -523,10 +523,9 @@ void rpmteColorDS(rpmte te, rpmTag tag) break; } - nb = Count * sizeof(*colors); - colors = memset(alloca(nb), 0, nb); + colors = xcalloc(Count, sizeof(*colors)); nb = Count * sizeof(*refs); - refs = memset(alloca(nb), -1, nb); + refs = memset(xmalloc(nb), -1, nb); /* Calculate dependency color and reference count. */ fi = rpmfiInit(fi, 0); @@ -559,6 +558,8 @@ assert (ix < Count); val++; (void) rpmdsSetRefs(ds, val); } + free(colors); + free(refs); } int rpmtsiOc(rpmtsi tsi)