Module Name:    src
Committed By:   shm
Date:           Sat Aug  8 15:52:41 UTC 2015

Modified Files:
        src/usr.bin/config: main.c

Log Message:
Add missed munmap(2) in extract_config


To generate a diff of this commit:
cvs rdiff -u -r1.75 -r1.76 src/usr.bin/config/main.c

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

Modified files:

Index: src/usr.bin/config/main.c
diff -u src/usr.bin/config/main.c:1.75 src/usr.bin/config/main.c:1.76
--- src/usr.bin/config/main.c:1.75	Tue Jun 16 21:12:19 2015
+++ src/usr.bin/config/main.c	Sat Aug  8 15:52:41 2015
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.75 2015/06/16 21:12:19 christos Exp $	*/
+/*	$NetBSD: main.c,v 1.76 2015/08/08 15:52:41 shm Exp $	*/
 
 /*
  * Copyright (c) 1992, 1993
@@ -45,7 +45,7 @@
 #endif
 
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: main.c,v 1.75 2015/06/16 21:12:19 christos Exp $");
+__RCSID("$NetBSD: main.c,v 1.76 2015/08/08 15:52:41 shm Exp $");
 
 #ifndef MAKE_BOOTSTRAP
 #include <sys/cdefs.h>
@@ -1582,6 +1582,7 @@ static int
 extract_config(const char *kname, const char *cname, int cfd)
 {
 	char *ptr;
+	void *base;
 	int found, kfd;
 	struct stat st;
 	off_t i;
@@ -1594,10 +1595,11 @@ extract_config(const char *kname, const 
 		err(EXIT_FAILURE, "cannot open %s", kname);
 	if (fstat(kfd, &st) == -1)
 		err(EXIT_FAILURE, "cannot stat %s", kname);
-	ptr = mmap(0, (size_t)st.st_size, PROT_READ, MAP_FILE | MAP_SHARED,
+	base = mmap(0, (size_t)st.st_size, PROT_READ, MAP_FILE | MAP_SHARED,
 	    kfd, 0);
-	if (ptr == MAP_FAILED)
+	if (base == MAP_FAILED)
 		err(EXIT_FAILURE, "cannot mmap %s", kname);
+	ptr = base;
 
 	/* Scan mmap(2)'ed region, extracting kernel configuration */
 	for (i = 0; i < st.st_size; i++) {
@@ -1629,7 +1631,8 @@ extract_config(const char *kname, const 
 	}
 
 	(void)close(kfd);
-
+	(void)munmap(base, (size_t)st.st_size);
+		
 	return found;
 }
 

Reply via email to