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
F169617146: D36827.id111394.diff
Wed, Sep 2, 2:09 AM
F169517888: D36827.id111247.diff
Tue, Sep 1, 7:14 PM
F169487170: D36827.id.diff
Tue, Sep 1, 4:35 PM
Unknown Object (File)
Tue, Sep 1, 3:02 AM
Unknown Object (File)
Sun, Aug 30, 7:23 AM
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
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