summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Schroeder <mls@suse.de>2010-04-12 12:09:04 +0200
committerPanu Matilainen <pmatilai@redhat.com>2010-06-11 10:23:23 +0300
commit8b1600432b8162d3e7a98277e000991274e602b4 (patch)
tree160e4573342ec64f1622a4b662cc0b4ee623ce45
parenta56897e571aea53b8cf78c7b180e58e127a98587 (diff)
downloadrpm-8b1600432b8162d3e7a98277e000991274e602b4.tar.gz
Do not load keyring if signature checking is disabled.
(cherry picked from commit cad147070e5513312d851f44998012e8f0cdf1e3)
-rw-r--r--lib/package.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/package.c b/lib/package.c
index d1c73bd94..90e4f9c8a 100644
--- a/lib/package.c
+++ b/lib/package.c
@@ -760,12 +760,16 @@ exit:
rpmRC rpmReadPackageFile(rpmts ts, FD_t fd, const char * fn, Header * hdrp)
{
rpmRC rc;
- rpmKeyring keyring = rpmtsGetKeyring(ts, 1);
rpmVSFlags vsflags = rpmtsVSFlags(ts);
+ rpmKeyring keyring = 0;
+
+ if ((vsflags & _RPMVSF_NOSIGNATURES) != _RPMVSF_NOSIGNATURES)
+ keyring = rpmtsGetKeyring(ts, 1);
rc = rpmpkgRead(keyring, vsflags, fd, fn, hdrp);
- rpmKeyringFree(keyring);
+ if (keyring)
+ rpmKeyringFree(keyring);
return rc;
}