diff options
Diffstat (limited to 'lib/manifest.c')
-rw-r--r-- | lib/manifest.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/manifest.c b/lib/manifest.c index c1223835d..2ffb6e6c6 100644 --- a/lib/manifest.c +++ b/lib/manifest.c @@ -105,8 +105,10 @@ int rpmReadPackageManifest(FD_t fd, int * argcPtr, const char *** argvPtr) appendStringBuf(sb, s); } + /*@-branchstate@*/ if (s == NULL) /* XXX always true */ s = getStringBuf(sb); + /*@=branchstate@*/ if (!(s && *s)) { rc = 1; @@ -148,12 +150,14 @@ int rpmReadPackageManifest(FD_t fd, int * argcPtr, const char *** argvPtr) *argcPtr = ac; exit: + /*@-branchstate@*/ if (argvPtr == NULL || (rc != 0 && av)) { if (av) for (i = 0; i < ac; i++) /*@-unqualifiedtrans@*/av[i] = _free(av[i]); /*@=unqualifiedtrans@*/ /*@-dependenttrans@*/ av = _free(av); /*@=dependenttrans@*/ } + /*@=branchstate@*/ sb = freeStringBuf(sb); /*@-nullstate@*/ return rc; |