Sun Oct 31 19:45:53 2010 UTC ()
PR/42435 : Check pointers against NULL to avoid dereferencing them


(stacktic)
diff -r1.46 -r1.47 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c
diff -r1.77 -r1.78 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c

cvs diff -r1.46 -r1.47 src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c (expand / switch to context diff)
--- src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c 2010/09/01 17:25:57 1.46
+++ src/crypto/external/bsd/netpgp/dist/src/lib/keyring.c 2010/10/31 19:45:53 1.47
@@ -57,7 +57,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: keyring.c,v 1.46 2010/09/01 17:25:57 agc Exp $");
+__RCSID("$NetBSD: keyring.c,v 1.47 2010/10/31 19:45:53 stacktic Exp $");
 #endif
 
 #ifdef HAVE_FCNTL_H
@@ -902,7 +902,7 @@
 	uint8_t		 	 keyid[OPS_KEY_ID_SIZE + 1];
 	size_t          	 len;
 
-	if (!keyring) {
+	if (!keyring || !name || !from) {
 		return NULL;
 	}
 	len = strlen(name);

cvs diff -r1.77 -r1.78 src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c (expand / switch to context diff)
--- src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 2010/10/19 00:00:00 1.77
+++ src/crypto/external/bsd/netpgp/dist/src/lib/netpgp.c 2010/10/31 19:45:53 1.78
@@ -34,7 +34,7 @@
 
 #if defined(__NetBSD__)
 __COPYRIGHT("@(#) Copyright (c) 2009 The NetBSD Foundation, Inc. All rights reserved.");
-__RCSID("$NetBSD: netpgp.c,v 1.77 2010/10/19 00:00:00 agc Exp $");
+__RCSID("$NetBSD: netpgp.c,v 1.78 2010/10/31 19:45:53 stacktic Exp $");
 #endif
 
 #include <sys/types.h>
@@ -423,6 +423,8 @@
 
 	if (userid == NULL) {
 		userid = netpgp_getvar(netpgp, "userid");
+		if (userid == NULL)
+			return NULL;
 	} else if (userid[0] == '0' && userid[1] == 'x') {
 		userid += 2;
 	}