Page MenuHomeFreeBSD

sh: Avoid referencing uninitialized memory in alias
ClosedPublic

Authored by jrm on May 15 2025, 3:13 PM.
Tags
None
Referenced Files
F170695953: D50364.id155518.diff
Sun, Sep 6, 1:59 AM
F170639435: D50364.id.diff
Sat, Sep 5, 6:29 PM
Unknown Object (File)
Sat, Sep 5, 10:11 AM
Unknown Object (File)
Sat, Sep 5, 7:17 AM
Unknown Object (File)
Sat, Sep 5, 12:43 AM
Unknown Object (File)
Fri, Sep 4, 1:19 PM
Unknown Object (File)
Thu, Sep 3, 5:51 AM
Unknown Object (File)
Wed, Sep 2, 11:08 PM
Subscribers

Details

Summary

If run as
alias ''
uninitialized memory could be referenced.

This is based on a fix from NetBSD. For more information, refer to the
commit log in
https://github.com/NetBSD/src/commit/10cfed82c282ff96a5a8818a9ce9b0e7444d418d

Obtained from: NetBSD (kre)
MFC after: 3 days

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 64201
Build 61085: arc lint + arc unit

Event Timeline

jrm requested review of this revision.May 15 2025, 3:13 PM

Heh,

$ /bin/sh
$ alias '' ==
$ alias
Bus error (core dumped)
$ 
This revision is now accepted and ready to land.May 15 2025, 3:40 PM
emaste requested changes to this revision.May 15 2025, 3:45 PM
emaste added inline comments.
bin/sh/alias.c
208

n is by definition an empty string, so the message would be alias: : not found which is confusing

This revision now requires changes to proceed.May 15 2025, 3:45 PM
This revision is now accepted and ready to land.May 16 2025, 1:57 PM