Module: wine Branch: master Commit: 3e5a956563213b7c5a22d33445019b0e98a22e66 URL: https://gitlab.winehq.org/wine/wine/-/commit/3e5a956563213b7c5a22d33445019b0...
Author: Alex Henrie alexhenrie24@gmail.com Date: Sun Dec 11 22:50:34 2022 -0700
twain_32: Handle realloc failure in twain_add_onedriver (cppcheck).
---
dlls/twain_32/dsm_ctrl.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/dlls/twain_32/dsm_ctrl.c b/dlls/twain_32/dsm_ctrl.c index 6854093017a..13503e6772c 100644 --- a/dlls/twain_32/dsm_ctrl.c +++ b/dlls/twain_32/dsm_ctrl.c @@ -53,6 +53,7 @@ twain_add_onedriver(const WCHAR *dsname) { DSENTRYPROC dsEntry; TW_IDENTITY fakeOrigin; TW_IDENTITY sourceId; + struct all_devices *new_devices; TW_UINT16 ret; WCHAR path[MAX_PATH];
@@ -89,7 +90,10 @@ twain_add_onedriver(const WCHAR *dsname) { } if (i < nrdevices) break; - devices = realloc( devices, sizeof(devices[0])*(nrdevices+1) ); + new_devices = realloc( devices, sizeof(devices[0]) * (nrdevices + 1) ); + if (!new_devices) + break; + devices = new_devices; devices[nrdevices].modname = wcsdup( path ); devices[nrdevices].identity = sourceId; nrdevices++;