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)
Tue, Aug 25, 6:18 PM
Unknown Object (File)
Tue, Aug 25, 6:12 PM
Unknown Object (File)
Tue, Aug 18, 4:41 AM
Unknown Object (File)
Sun, Aug 9, 2:18 PM
Unknown Object (File)
Sun, Aug 9, 4:44 AM
Unknown Object (File)
Sat, Aug 8, 6:31 PM
Unknown Object (File)
Fri, Aug 7, 10:01 AM
Unknown Object (File)
Thu, Aug 6, 12:56 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