/usr/src/lib/libc/locale/xlocale.c, line 191 static locale_t alloc_locale(void) { locale_t new = calloc(sizeof(struct _xlocale), 1); new->header.destructor = destruct_locale; new->monetary_locale_changed = 1; new->numeric_locale_changed = 1; return (new); } calloc() return value is not tested. Variable new is always dereferenced, even in the (unexpected) case where it is NULL.
See https://reviews.freebsd.org/D34140
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=b68522308d1e0b19c00d82c13878a693fc2ef2df commit b68522308d1e0b19c00d82c13878a693fc2ef2df Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2022-02-02 17:24:42 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2022-02-03 01:02:58 +0000 xlocale.c: check for allocation failure PR: 261679 Reported by: phil.stone@gmx.com Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D34140 lib/libc/locale/xlocale.c | 3 +++ 1 file changed, 3 insertions(+)
A commit in branch stable/13 references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3e4e8d5cbfcd2161d7cdd513ad9d7d88f703fcb8 commit 3e4e8d5cbfcd2161d7cdd513ad9d7d88f703fcb8 Author: Konstantin Belousov <kib@FreeBSD.org> AuthorDate: 2022-02-02 17:24:42 +0000 Commit: Konstantin Belousov <kib@FreeBSD.org> CommitDate: 2022-02-09 00:42:45 +0000 xlocale.c: check for allocation failure PR: 261679 (cherry picked from commit b68522308d1e0b19c00d82c13878a693fc2ef2df) lib/libc/locale/xlocale.c | 3 +++ 1 file changed, 3 insertions(+)