git: 9d29fc2e4bfb - main - sh: Avoid referencing uninitialized memory in alias
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 16 May 2025 14:04:33 UTC
The branch main has been updated by jrm:
URL: https://cgit.FreeBSD.org/src/commit/?id=9d29fc2e4bfba9fcd3b0944e683458a3f1fa0c47
commit 9d29fc2e4bfba9fcd3b0944e683458a3f1fa0c47
Author: Joseph Mingrone <jrm@FreeBSD.org>
AuthorDate: 2025-05-15 14:42:14 +0000
Commit: Joseph Mingrone <jrm@FreeBSD.org>
CommitDate: 2025-05-16 14:03:09 +0000
sh: Avoid referencing uninitialized memory in alias
If run as
alias ''
uninitialized memory could be referenced.
This is based on a fix from NetBSD. For more information, refer to
https://github.com/NetBSD/src/commit/10cfed82c28 .
Obtained from: NetBSD (Robert Elz <kre@netbsd.org>, 10cfed82c28)
MFC after: 3 days
Reported by: mckusick, Robert Elz <kre@netbsd.org>
Reviewed by: emaste
Differential Revision: https://reviews.freebsd.org/D50364
---
bin/sh/alias.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/bin/sh/alias.c b/bin/sh/alias.c
index a02554d66e24..681e82b3e19e 100644
--- a/bin/sh/alias.c
+++ b/bin/sh/alias.c
@@ -204,6 +204,11 @@ aliascmd(int argc __unused, char **argv __unused)
return (0);
}
while ((n = *argptr++) != NULL) {
+ if (n[0] == '\0') {
+ warning("'': not found");
+ ret = 1;
+ continue;
+ }
if ((v = strchr(n+1, '=')) == NULL) /* n+1: funny ksh stuff */
if ((ap = lookupalias(n, 0)) == NULL) {
warning("%s: not found", n);