Do not load keyring if signature checking is disabled.

--- ./lib/package.c.orig        2010-04-09 09:56:42.000000000 +0000
+++ ./lib/package.c     2010-04-09 09:57:50.000000000 +0000
@@ -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;
 }
 
_______________________________________________
Rpm-maint mailing list
[email protected]
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to