Page MenuHomeFreeBSD

nvmecontrol wdc: Don't pass a bogus pointer to free().
ClosedPublic

Authored by jhb on Sep 29 2022, 10:39 PM.
Tags
None
Referenced Files
F151296413: D36827.id.diff
Tue, Apr 7, 9:53 AM
Unknown Object (File)
Mon, Apr 6, 4:19 PM
Unknown Object (File)
Mon, Apr 6, 8:01 AM
Unknown Object (File)
Mon, Mar 30, 10:36 PM
Unknown Object (File)
Sun, Mar 29, 12:07 PM
Unknown Object (File)
Sun, Mar 29, 7:16 AM
Unknown Object (File)
Sun, Mar 29, 1:25 AM
Unknown Object (File)
Sat, Mar 28, 8:47 PM
Subscribers

Details

Summary

wdc_get_dui_log_size allocates a buffer and then advances the
returned pointer. Passing this advanced pointer to free() is UB,
so save the original pointer to pass to free() instead.

Reported by: GCC 12 -Wfree-nonheap-object

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable