From 15a0018629880ffd2677543f631e01f9a241c543 Mon Sep 17 00:00:00 2001 From: ewt Date: Tue, 9 Jan 1996 21:50:54 +0000 Subject: [PATCH] fixed getScript() CVS patchset: 187 CVS date: 1996/01/09 21:50:54 --- oldrpmdb.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/oldrpmdb.c b/oldrpmdb.c index d0eb033..56e0766 100644 --- a/oldrpmdb.c +++ b/oldrpmdb.c @@ -387,7 +387,7 @@ char * oldrpmdbGetPackageGroup(struct oldrpmdb * oldrpmdb, struct oldrpmdbLabel static char * getScript(char * which, struct oldrpmdb *oldrpmdb, struct oldrpmdbLabel label) { datum key, rec; - char * labelstr; + char * labelstr, * l; labelstr = oldrpmdbLabelToLabelstr(label, 0); labelstr = realloc(labelstr, strlen(labelstr) + 10); @@ -399,11 +399,16 @@ static char * getScript(char * which, struct oldrpmdb *oldrpmdb, rec = gdbm_fetch(oldrpmdb->postIndex, key); free(labelstr); - if (!rec.dptr) { - return NULL; - } - return rec.dptr; + if (!rec.dptr) return NULL; + + l = malloc(rec.dsize + 1); + strncpy(l, rec.dptr, rec.dsize); + l[rec.dsize] = '\0'; + + free(rec.dptr); + + return l; } char *oldrpmdbGetPackagePostun (struct oldrpmdb *oldrpmdb, -- 2.7.4