Date: Sun, 5 Nov 2023 02:19:50 GMT From: Kyle Evans <kevans@FreeBSD.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org Subject: git: e116e040f309 - main - grep: don't rely on implementation-defined malloc(0) behavior Message-ID: <202311050219.3A52JolT005402@gitrepo.freebsd.org>
next in thread | raw e-mail | index | archive | help
The branch main has been updated by kevans: URL: https://cgit.FreeBSD.org/src/commit/?id=e116e040f3091eca914a06dcd0bdd9f1aea23add commit e116e040f3091eca914a06dcd0bdd9f1aea23add Author: Kyle Evans <kevans@FreeBSD.org> AuthorDate: 2023-11-05 02:08:36 +0000 Commit: Kyle Evans <kevans@FreeBSD.org> CommitDate: 2023-11-05 02:19:12 +0000 grep: don't rely on implementation-defined malloc(0) behavior The very few places that rely on malloc/calloc of a zero-size region won't attempt to dereference it, so just return NULL rather than rolling the dice with the underlying malloc implementation. Reported by: brooks, Shawn Webb --- usr.bin/grep/util.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/usr.bin/grep/util.c b/usr.bin/grep/util.c index 1805cc74bfc6..936abc41b3ef 100644 --- a/usr.bin/grep/util.c +++ b/usr.bin/grep/util.c @@ -650,6 +650,8 @@ grep_malloc(size_t size) { void *ptr; + if (size == 0) + return (NULL); if ((ptr = malloc(size)) == NULL) err(2, "malloc"); return (ptr); @@ -663,6 +665,8 @@ grep_calloc(size_t nmemb, size_t size) { void *ptr; + if (nmemb == 0 || size == 0) + return (NULL); if ((ptr = calloc(nmemb, size)) == NULL) err(2, "calloc"); return (ptr);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202311050219.3A52JolT005402>