Do not load keyring if signature checking is disabled.
authorMichael Schroeder <mls@suse.de>
Mon, 12 Apr 2010 10:09:04 +0000 (12:09 +0200)
committerFlorian Festi <ffesti@redhat.com>
Mon, 12 Apr 2010 10:09:04 +0000 (12:09 +0200)
lib/package.c

index d1c73bd..90e4f9c 100644 (file)
@@ -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;
 }