[Bug 267050] free(buf) in libbsm/bsm_io.c should be free(*buf)
Date: Fri, 14 Oct 2022 13:52:56 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=267050
Bug ID: 267050
Summary: free(buf) in libbsm/bsm_io.c should be free(*buf)
Product: Base System
Version: CURRENT
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: bin
Assignee: bugs@FreeBSD.org
Reporter: rtm@lcs.mit.edu
Created attachment 237300
--> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=237300&action=edit
auditreduce input that causes a segmentation fault in free()
au_read_rec() in /usr/src/contrib/openbsm/libbsm/bsm_io.c says:
*buf = malloc(recsize);
...;
free(buf);
The free(buf) should be free(*buf).
I've attached a demo:
% auditreduce < auditreduce1a.dat
Segmentation fault
Thread 2.1 received signal SIGSEGV, Segmentation fault.
Address not mapped to object.
[Switching to LWP 100451 of process 16127]
0x000000080120ad11 in ?? () from /lib/libc.so.7
(gdb) where
#0 0x000000080120ad11 in ?? () from /lib/libc.so.7
#1 0x0000000801084680 in au_read_rec (fp=0x80127c6c0, buf=0x7fffffffde28)
at /usr/src/contrib/openbsm/libbsm/bsm_io.c:4600
#2 0x0000000001024851 in select_records (fp=0x80127c6c0)
at /usr/src/contrib/openbsm/bin/auditreduce/auditreduce.c:532
#3 0x0000000001024384 in main (argc=<optimized out>, argv=<optimized out>)
at /usr/src/contrib/openbsm/bin/auditreduce/auditreduce.c:829
This is on 13.1-RELEASE-p2 as well as a recent CURRENT.
--
You are receiving this mail because:
You are the assignee for the bug.