From e454180a3f6bc16431ba710f5a16aca83f1c5396 Mon Sep 17 00:00:00 2001 From: Jindrich Novy Date: Wed, 30 Apr 2008 11:39:49 +0200 Subject: [PATCH] Don't use alloca in rpmal.c --- lib/rpmal.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/rpmal.c b/lib/rpmal.c index 8c73343..fa499a7 100644 --- a/lib/rpmal.c +++ b/lib/rpmal.c @@ -364,8 +364,8 @@ fprintf(stderr, "*** add %p[%d] 0x%x\n", al->list, (int) pkgNum, tscolor); dirInfo die; int dc = rpmfiDC(fi); int dx; - int * dirMapping = alloca(sizeof(*dirMapping) * dc); - int * dirUnique = alloca(sizeof(*dirUnique) * dc); + int *dirMapping = xmalloc(sizeof(*dirMapping) * dc); + int *dirUnique = xmalloc(sizeof(*dirUnique) * dc); const char * DN; int origNumDirs; int first; @@ -477,6 +477,8 @@ fprintf(stderr, "\t%p[%3d] %p:%p[%2d] %s\n", die->files, die->numFiles, fie, fie al->dirs = xrealloc(al->dirs, al->numDirs * sizeof(*al->dirs)); if (origNumDirs != al->numDirs) qsort(al->dirs, al->numDirs, sizeof(*al->dirs), dieCompare); + free(dirUnique); + free(dirMapping); } fi = rpmfiUnlink(fi, RPMDBG_M("Files index (rpmalAdd)")); -- 2.7.4