Module Name: src Committed By: dholland Date: Wed Nov 24 16:31:12 UTC 2010
Modified Files: src/sys/dev: firmload.c Log Message: Call pathbuf_destroy exactly once, never twice. PR 44144 To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/dev/firmload.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/firmload.c diff -u src/sys/dev/firmload.c:1.15 src/sys/dev/firmload.c:1.16 --- src/sys/dev/firmload.c:1.15 Fri Nov 19 06:44:39 2010 +++ src/sys/dev/firmload.c Wed Nov 24 16:31:12 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: firmload.c,v 1.15 2010/11/19 06:44:39 dholland Exp $ */ +/* $NetBSD: firmload.c,v 1.16 2010/11/24 16:31:12 dholland Exp $ */ /*- * Copyright (c) 2005, 2006 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: firmload.c,v 1.15 2010/11/19 06:44:39 dholland Exp $"); +__KERNEL_RCSID(0, "$NetBSD: firmload.c,v 1.16 2010/11/24 16:31:12 dholland Exp $"); /* * The firmload API provides an interface for device drivers to access @@ -242,7 +242,6 @@ fh = firmware_handle_alloc(); KASSERT(fh != NULL); - pb = NULL; error = 0; for (path = firmware_path_first(drvname, imgname, pnbuf, &prefix); path != NULL; @@ -254,14 +253,13 @@ } NDINIT(&nd, LOOKUP, FOLLOW | NOCHROOT, pb); error = vn_open(&nd, FREAD, 0); + pathbuf_destroy(pb); if (error == ENOENT) { - pathbuf_destroy(pb); continue; } break; } - pathbuf_destroy(pb); PNBUF_PUT(pnbuf); if (error) { firmware_handle_free(fh);