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;
}