Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/usr.sbin/acpitools/amldb mmap MAP_FAILED audit.
details: https://anonhg.NetBSD.org/src/rev/768c3dc013f4
branches: trunk
changeset: 937479:768c3dc013f4
user: riastradh <riastradh%NetBSD.org@localhost>
date: Thu Aug 20 15:54:11 2020 +0000
description:
mmap MAP_FAILED audit.
diffstat:
external/bsd/ppp/usr.sbin/pppd/tdb.c | 6 ++++++
external/bsd/tre/dist/src/agrep.c | 4 ++++
external/cddl/osnet/dist/cmd/ztest/ztest.c | 6 +++---
external/cddl/osnet/dist/common/ctf/ctf_open.c | 6 +++---
external/cddl/osnet/dist/lib/libctf/common/ctf_lib.c | 3 +++
lib/libc/tls/tls.c | 6 ++++--
sbin/newfs/mkfs.c | 7 ++++---
sys/arch/amiga/stand/bootblock/elf2bb/elf2bb.c | 4 ++--
usr.sbin/acpitools/acpidump/acpi_user.c | 6 +++---
usr.sbin/acpitools/amldb/amldb.c | 7 ++++---
10 files changed, 36 insertions(+), 19 deletions(-)
diffs (244 lines):
diff -r 6ba708439f6f -r 768c3dc013f4 external/bsd/ppp/usr.sbin/pppd/tdb.c
--- a/external/bsd/ppp/usr.sbin/pppd/tdb.c Thu Aug 20 13:58:30 2020 +0000
+++ b/external/bsd/ppp/usr.sbin/pppd/tdb.c Thu Aug 20 15:54:11 2020 +0000
@@ -222,6 +222,8 @@
tdb->map_ptr = (void *)mmap(NULL, tdb->map_size,
tdb->read_only?PROT_READ:PROT_READ|PROT_WRITE,
MAP_SHARED | MAP_FILE, tdb->fd, 0);
+ if (tdb->map_ptr == MAP_FAILED)
+ tdb->map_ptr = NULL;
#endif
return 0;
}
@@ -389,6 +391,8 @@
tdb->map_ptr = (void *)mmap(NULL, tdb->map_size,
PROT_READ|PROT_WRITE,
MAP_SHARED | MAP_FILE, tdb->fd, 0);
+ if (tdb->map_ptr == MAP_FAILED)
+ tdb->map_ptr = NULL;
}
#endif
@@ -1194,6 +1198,8 @@
tdb.map_ptr = (void *)mmap(NULL, st.st_size,
tdb.read_only? PROT_READ : PROT_READ|PROT_WRITE,
MAP_SHARED | MAP_FILE, tdb.fd, 0);
+ if (tdb->map_ptr == MAP_FAILED)
+ tdb->map_ptr = NULL;
}
#endif
diff -r 6ba708439f6f -r 768c3dc013f4 external/bsd/tre/dist/src/agrep.c
--- a/external/bsd/tre/dist/src/agrep.c Thu Aug 20 13:58:30 2020 +0000
+++ b/external/bsd/tre/dist/src/agrep.c Thu Aug 20 15:54:11 2020 +0000
@@ -336,6 +336,10 @@
} else {
size = (size_t)st.st_size;
mapped = mmap(NULL, size, PROT_READ, MAP_SHARED, fileno(fp), 0);
+ if (mapped == MAP_FAILED) {
+ fclose(fp);
+ return 1;
+ }
for (i = 0 ; !isbin && i < size ; i++) {
if (mapped[i] == 0x0) {
isbin = 1;
diff -r 6ba708439f6f -r 768c3dc013f4 external/cddl/osnet/dist/cmd/ztest/ztest.c
--- a/external/cddl/osnet/dist/cmd/ztest/ztest.c Thu Aug 20 13:58:30 2020 +0000
+++ b/external/cddl/osnet/dist/cmd/ztest/ztest.c Thu Aug 20 15:54:11 2020 +0000
@@ -6034,7 +6034,7 @@
hdr = (void *)mmap(0, P2ROUNDUP(sizeof (*hdr), getpagesize()),
PROT_READ | PROT_WRITE, MAP_SHARED, ztest_fd_data, 0);
- ASSERT(hdr != MAP_FAILED);
+ VERIFY(hdr != MAP_FAILED);
VERIFY3U(0, ==, ftruncate(ztest_fd_data, sizeof (ztest_shared_hdr_t)));
@@ -6061,14 +6061,14 @@
hdr = (void *)mmap(0, P2ROUNDUP(sizeof (*hdr), getpagesize()),
PROT_READ, MAP_SHARED, ztest_fd_data, 0);
- ASSERT(hdr != MAP_FAILED);
+ VERIFY(hdr != MAP_FAILED);
size = shared_data_size(hdr);
(void) munmap((caddr_t)hdr, P2ROUNDUP(sizeof (*hdr), getpagesize()));
hdr = ztest_shared_hdr = (void *)mmap(0, P2ROUNDUP(size, getpagesize()),
PROT_READ | PROT_WRITE, MAP_SHARED, ztest_fd_data, 0);
- ASSERT(hdr != MAP_FAILED);
+ VERIFY(hdr != MAP_FAILED);
buf = (uint8_t *)hdr;
offset = hdr->zh_hdr_size;
diff -r 6ba708439f6f -r 768c3dc013f4 external/cddl/osnet/dist/common/ctf/ctf_open.c
--- a/external/cddl/osnet/dist/common/ctf/ctf_open.c Thu Aug 20 13:58:30 2020 +0000
+++ b/external/cddl/osnet/dist/common/ctf/ctf_open.c Thu Aug 20 15:54:11 2020 +0000
@@ -814,7 +814,7 @@
*/
bcopy(&ofp->ctf_data, &ctfsect, sizeof (ctf_sect_t));
cbuf = ctf_data_alloc(ctfsect.cts_size);
- if (cbuf == NULL) {
+ if (cbuf == MAP_FAILED) {
(void) ctf_set_errno(ofp, ECTF_MMAP);
return (NULL);
}
@@ -828,7 +828,7 @@
if (ofp->ctf_symtab.cts_data != NULL) {
bcopy(&ofp->ctf_symtab, &symsect, sizeof (ctf_sect_t));
symbuf = ctf_data_alloc(symsect.cts_size);
- if (symbuf == NULL) {
+ if (symbuf == MAP_FAILED) {
(void) ctf_set_errno(ofp, ECTF_MMAP);
goto err;
}
@@ -844,7 +844,7 @@
if (ofp->ctf_strtab.cts_data != NULL) {
bcopy(&ofp->ctf_strtab, &strsect, sizeof (ctf_sect_t));
strbuf = ctf_data_alloc(strsect.cts_size);
- if (strbuf == NULL) {
+ if (strbuf == MAP_FAILED) {
(void) ctf_set_errno(ofp, ECTF_MMAP);
goto err;
}
diff -r 6ba708439f6f -r 768c3dc013f4 external/cddl/osnet/dist/lib/libctf/common/ctf_lib.c
--- a/external/cddl/osnet/dist/lib/libctf/common/ctf_lib.c Thu Aug 20 13:58:30 2020 +0000
+++ b/external/cddl/osnet/dist/lib/libctf/common/ctf_lib.c Thu Aug 20 15:54:11 2020 +0000
@@ -374,6 +374,9 @@
strs_map = mmap64(NULL, strs_mapsz, PROT_READ, MAP_PRIVATE,
fd, sp[shstrndx].sh_offset & _PAGEMASK);
+ if (strs_map == MAP_FAILED)
+ return (ctf_set_open_errno(errp, errno));
+
strs = (char *)strs_map +
(sp[shstrndx].sh_offset & ~_PAGEMASK);
diff -r 6ba708439f6f -r 768c3dc013f4 lib/libc/tls/tls.c
--- a/lib/libc/tls/tls.c Thu Aug 20 13:58:30 2020 +0000
+++ b/lib/libc/tls/tls.c Thu Aug 20 15:54:11 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: tls.c,v 1.13 2019/11/21 23:06:15 nakayama Exp $ */
+/* $NetBSD: tls.c,v 1.14 2020/08/20 15:54:11 riastradh Exp $ */
/*-
* Copyright (c) 2011 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: tls.c,v 1.13 2019/11/21 23:06:15 nakayama Exp $");
+__RCSID("$NetBSD: tls.c,v 1.14 2020/08/20 15:54:11 riastradh Exp $");
#include "namespace.h"
@@ -94,6 +94,8 @@
initial_thread_tcb = p = mmap(NULL,
tls_allocation + sizeof(*tcb), PROT_READ | PROT_WRITE,
MAP_ANON, -1, 0);
+ if (p == MAP_FAILED)
+ initial_thread_tcb = p = NULL;
} else {
p = calloc(1, tls_allocation + sizeof(*tcb));
}
diff -r 6ba708439f6f -r 768c3dc013f4 sbin/newfs/mkfs.c
--- a/sbin/newfs/mkfs.c Thu Aug 20 13:58:30 2020 +0000
+++ b/sbin/newfs/mkfs.c Thu Aug 20 15:54:11 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: mkfs.c,v 1.129 2020/04/17 09:33:37 jdolecek Exp $ */
+/* $NetBSD: mkfs.c,v 1.130 2020/08/20 15:54:11 riastradh Exp $ */
/*
* Copyright (c) 1980, 1989, 1993
@@ -73,7 +73,7 @@
#if 0
static char sccsid[] = "@(#)mkfs.c 8.11 (Berkeley) 5/3/95";
#else
-__RCSID("$NetBSD: mkfs.c,v 1.129 2020/04/17 09:33:37 jdolecek Exp $");
+__RCSID("$NetBSD: mkfs.c,v 1.130 2020/08/20 15:54:11 riastradh Exp $");
#endif
#endif /* not lint */
@@ -1668,7 +1668,8 @@
/* try to map something extra */
extra = mmap(0, exsize, PROT_READ|PROT_WRITE, MAP_ANON|MAP_PRIVATE,
-1, 0);
- munmap(extra, exsize);
+ if (extra != MAP_FAILED)
+ munmap(extra, exsize);
/* if extra memory couldn't be mapped, reduce original request accordingly */
if (extra == MAP_FAILED) {
diff -r 6ba708439f6f -r 768c3dc013f4 sys/arch/amiga/stand/bootblock/elf2bb/elf2bb.c
--- a/sys/arch/amiga/stand/bootblock/elf2bb/elf2bb.c Thu Aug 20 13:58:30 2020 +0000
+++ b/sys/arch/amiga/stand/bootblock/elf2bb/elf2bb.c Thu Aug 20 15:54:11 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: elf2bb.c,v 1.16 2011/07/11 01:24:34 mrg Exp $ */
+/* $NetBSD: elf2bb.c,v 1.17 2020/08/20 15:54:12 riastradh Exp $ */
/*-
* Copyright (c) 1996,2006 The NetBSD Foundation, Inc.
@@ -141,7 +141,7 @@
err(1, "Can't open %s", argv[0]);
image = mmap(0, 65536, PROT_READ, MAP_FILE|MAP_PRIVATE, ifd, 0);
- if (image == 0)
+ if (image == MAP_FAILED)
err(1, "Can't mmap %s", argv[1]);
eh = (Elf32_Ehdr *)image; /* XXX endianness */
diff -r 6ba708439f6f -r 768c3dc013f4 usr.sbin/acpitools/acpidump/acpi_user.c
--- a/usr.sbin/acpitools/acpidump/acpi_user.c Thu Aug 20 13:58:30 2020 +0000
+++ b/usr.sbin/acpitools/acpidump/acpi_user.c Thu Aug 20 15:54:11 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: acpi_user.c,v 1.4 2017/08/04 06:30:36 msaitoh Exp $ */
+/* $NetBSD: acpi_user.c,v 1.5 2020/08/20 15:54:12 riastradh Exp $ */
/*-
* Copyright (c) 1999 Doug Rabson
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: acpi_user.c,v 1.4 2017/08/04 06:30:36 msaitoh Exp $");
+__RCSID("$NetBSD: acpi_user.c,v 1.5 2020/08/20 15:54:12 riastradh Exp $");
#include <sys/param.h>
#include <sys/mman.h>
@@ -204,7 +204,7 @@
errx(EXIT_FAILURE, "fstat %s", infile);
dp = mmap(0, sb.st_size, PROT_READ, MAP_PRIVATE, acpi_mem_fd, 0);
- if (dp == NULL)
+ if (dp == MAP_FAILED)
errx(EXIT_FAILURE, "mmap %s", infile);
sdt = (ACPI_TABLE_HEADER *)dp;
diff -r 6ba708439f6f -r 768c3dc013f4 usr.sbin/acpitools/amldb/amldb.c
--- a/usr.sbin/acpitools/amldb/amldb.c Thu Aug 20 13:58:30 2020 +0000
+++ b/usr.sbin/acpitools/amldb/amldb.c Thu Aug 20 15:54:11 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: amldb.c,v 1.4 2018/10/14 12:43:58 jmcneill Exp $ */
+/* $NetBSD: amldb.c,v 1.5 2020/08/20 15:54:12 riastradh Exp $ */
/*-
* Copyright (c) 1999 Mitsuru IWASAKI <iwasaki%FreeBSD.org@localhost>
@@ -29,7 +29,7 @@
* $FreeBSD: src/usr.sbin/acpi/amldb/amldb.c,v 1.3 2001/10/22 17:25:32 iwasaki Exp $
*/
#include <sys/cdefs.h>
-__RCSID("$NetBSD: amldb.c,v 1.4 2018/10/14 12:43:58 jmcneill Exp $");
+__RCSID("$NetBSD: amldb.c,v 1.5 2020/08/20 15:54:12 riastradh Exp $");
#include <sys/param.h>
#include <sys/mman.h>
@@ -91,7 +91,8 @@
perror("fstat");
exit(-1);
}
- if ((code = mmap(NULL, sb.st_size, PROT_READ, MAP_PRIVATE, fd, 0)) == NULL) {
+ if ((code = mmap(NULL, sb.st_size, PROT_READ, MAP_PRIVATE, fd, 0)) ==
+ MAP_FAILED) {
perror("mmap");
exit(-1);
}
Home |
Main Index |
Thread Index |
Old Index