Module Name:    src
Committed By:   jym
Date:           Sat Aug 14 18:28:59 UTC 2010

Modified Files:
        src/sys/dev/ieee1394: firewire.c
        src/sys/netinet6: esp_aesctr.c esp_core.c

Log Message:
Fix some code paths where pointers are dereferenced after checking that
they are NULL (oops?)

XXX pull-ups for NetBSD-4 and NetBSD-5.


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 src/sys/dev/ieee1394/firewire.c
cvs rdiff -u -r1.12 -r1.13 src/sys/netinet6/esp_aesctr.c
cvs rdiff -u -r1.45 -r1.46 src/sys/netinet6/esp_core.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/ieee1394/firewire.c
diff -u src/sys/dev/ieee1394/firewire.c:1.35 src/sys/dev/ieee1394/firewire.c:1.36
--- src/sys/dev/ieee1394/firewire.c:1.35	Sun May 23 18:56:58 2010
+++ src/sys/dev/ieee1394/firewire.c	Sat Aug 14 18:28:59 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: firewire.c,v 1.35 2010/05/23 18:56:58 christos Exp $	*/
+/*	$NetBSD: firewire.c,v 1.36 2010/08/14 18:28:59 jym Exp $	*/
 /*-
  * Copyright (c) 2003 Hidetoshi Shimokawa
  * Copyright (c) 1998-2002 Katsushi Kobayashi and Hidetoshi Shimokawa
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: firewire.c,v 1.35 2010/05/23 18:56:58 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: firewire.c,v 1.36 2010/08/14 18:28:59 jym Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -907,7 +907,7 @@
 {
 
 	if (xfer == NULL) {
-		aprint_error_dev(xfer->fc->bdev, "xfer == NULL\n");
+		aprint_error("fw_xfer_free: xfer == NULL\n");
 		return;
 	}
 	fw_xfer_unload(xfer);
@@ -920,7 +920,7 @@
 {
 
 	if (xfer == NULL) {
-		aprint_error_dev(xfer->fc->bdev, "xfer == NULL\n");
+		aprint_error("fw_xfer_free_buf: xfer == NULL\n");
 		return;
 	}
 	fw_xfer_unload(xfer);

Index: src/sys/netinet6/esp_aesctr.c
diff -u src/sys/netinet6/esp_aesctr.c:1.12 src/sys/netinet6/esp_aesctr.c:1.13
--- src/sys/netinet6/esp_aesctr.c:1.12	Sat Apr 18 14:58:05 2009
+++ src/sys/netinet6/esp_aesctr.c	Sat Aug 14 18:28:59 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: esp_aesctr.c,v 1.12 2009/04/18 14:58:05 tsutsui Exp $	*/
+/*	$NetBSD: esp_aesctr.c,v 1.13 2010/08/14 18:28:59 jym Exp $	*/
 /*	$KAME: esp_aesctr.c,v 1.2 2003/07/20 00:29:37 itojun Exp $	*/
 
 /*
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: esp_aesctr.c,v 1.12 2009/04/18 14:58:05 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: esp_aesctr.c,v 1.13 2010/08/14 18:28:59 jym Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -79,10 +79,10 @@
 	const struct esp_algorithm *algo;
 
 	algo = esp_algorithm_lookup(sav->alg_enc);
-	if (!algo) {
+	if (algo == NULL) {
 		ipseclog((LOG_ERR,
-		    "esp_aeesctr_mature %s: unsupported algorithm.\n",
-		    algo->name));
+		    "esp_aesctr_mature: unsupported encryption algorithm %d\n",
+		    sav->alg_enc));
 		return 1;
 	}
 

Index: src/sys/netinet6/esp_core.c
diff -u src/sys/netinet6/esp_core.c:1.45 src/sys/netinet6/esp_core.c:1.46
--- src/sys/netinet6/esp_core.c:1.45	Sat Apr 18 14:58:05 2009
+++ src/sys/netinet6/esp_core.c	Sat Aug 14 18:28:59 2010
@@ -1,4 +1,4 @@
-/*	$NetBSD: esp_core.c,v 1.45 2009/04/18 14:58:05 tsutsui Exp $	*/
+/*	$NetBSD: esp_core.c,v 1.46 2010/08/14 18:28:59 jym Exp $	*/
 /*	$KAME: esp_core.c,v 1.53 2001/11/27 09:47:30 sakane Exp $	*/
 
 /*
@@ -31,7 +31,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: esp_core.c,v 1.45 2009/04/18 14:58:05 tsutsui Exp $");
+__KERNEL_RCSID(0, "$NetBSD: esp_core.c,v 1.46 2010/08/14 18:28:59 jym Exp $");
 
 #include "opt_inet.h"
 
@@ -404,9 +404,10 @@
 	}
 
 	algo = esp_algorithm_lookup(sav->alg_enc);
-	if (!algo) {
+	if (algo == NULL) {
 		ipseclog((LOG_ERR,
-		    "esp_cbc_mature %s: unsupported algorithm.\n", algo->name));
+		    "esp_cbc_mature: unsupported encryption algorithm %d\n",
+		    sav->alg_enc));
 		return 1;
 	}
 

Reply via email to