Module Name:    src
Committed By:   christos
Date:           Sun Sep 21 16:36:32 UTC 2014

Modified Files:
        src/sys/arch/sparc/sparc: machdep.c

Log Message:
fix leak.


To generate a diff of this commit:
cvs rdiff -u -r1.326 -r1.327 src/sys/arch/sparc/sparc/machdep.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/arch/sparc/sparc/machdep.c
diff -u src/sys/arch/sparc/sparc/machdep.c:1.326 src/sys/arch/sparc/sparc/machdep.c:1.327
--- src/sys/arch/sparc/sparc/machdep.c:1.326	Fri Feb 28 05:16:51 2014
+++ src/sys/arch/sparc/sparc/machdep.c	Sun Sep 21 12:36:32 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: machdep.c,v 1.326 2014/02/28 10:16:51 skrll Exp $ */
+/*	$NetBSD: machdep.c,v 1.327 2014/09/21 16:36:32 christos Exp $ */
 
 /*-
  * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc.
@@ -71,7 +71,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.326 2014/02/28 10:16:51 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.327 2014/09/21 16:36:32 christos Exp $");
 
 #include "opt_compat_netbsd.h"
 #include "opt_compat_sunos.h"
@@ -1378,8 +1378,10 @@ _bus_dmamem_alloc(bus_dma_tag_t t, bus_s
 	 */
 	error = uvm_pglistalloc(size, low, high, 0, 0,
 				mlist, nsegs, (flags & BUS_DMA_NOWAIT) == 0);
-	if (error)
+	if (error) {
+		free(mlist, M_DEVBUF);
 		return (error);
+	}
 
 	/*
 	 * Simply keep a pointer around to the linked list, so

Reply via email to