Module Name:    src
Committed By:   christos
Date:           Sun Sep 21 16:53:38 UTC 2014

Modified Files:
        src/sys/arch/xen/xen: privcmd.c

Log Message:
fix leak.


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/arch/xen/xen/privcmd.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/xen/xen/privcmd.c
diff -u src/sys/arch/xen/xen/privcmd.c:1.45 src/sys/arch/xen/xen/privcmd.c:1.46
--- src/sys/arch/xen/xen/privcmd.c:1.45	Wed Nov  6 01:23:15 2013
+++ src/sys/arch/xen/xen/privcmd.c	Sun Sep 21 12:53:38 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: privcmd.c,v 1.45 2013/11/06 06:23:15 mrg Exp $ */
+/* $NetBSD: privcmd.c,v 1.46 2014/09/21 16:53:38 christos Exp $ */
 
 /*-
  * Copyright (c) 2004 Christian Limpach.
@@ -27,7 +27,7 @@
 
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: privcmd.c,v 1.45 2013/11/06 06:23:15 mrg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: privcmd.c,v 1.46 2014/09/21 16:53:38 christos Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -360,8 +360,11 @@ privcmd_ioctl(void *v)
 			}
 			error  = privcmd_map_obj(vmm, va, maddr,
 			    mentry.npages, mcmd->dom);
-			if (error)
+			if (error) {
+				kmem_free(maddr, 
+				    sizeof(paddr_t) * mentry.npages);
 				return error;
+			}
 		}
 		break;
 	}

Reply via email to