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
Unknown Object (File)
Fri, Jan 16, 1:32 PM
Unknown Object (File)
Thu, Jan 15, 10:07 PM
Unknown Object (File)
Thu, Jan 15, 6:56 PM
Unknown Object (File)
Thu, Jan 15, 4:26 PM
Unknown Object (File)
Dec 6 2025, 10:12 AM
Unknown Object (File)
Dec 1 2025, 10:00 AM
Unknown Object (File)
Nov 27 2025, 11:54 PM
Unknown Object (File)
Nov 26 2025, 10:38 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 Skipped
Unit
Tests Skipped
Build Status
Buildable 47641
Build 44528: arc lint + arc unit