winspool: Fix memory leaks on error path in DeviceCapabilitiesA (Coverity).

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alex Henrie 2022-02-02 21:35:01 -07:00 committed by Alexandre Julliard
parent 746b5bbd50
commit 5a12c6a481

View file

@ -1775,7 +1775,7 @@ INT WINAPI DeviceCapabilitiesA(const char *device, const char *portA, WORD cap,
WCHAR *outputW;
ret = DeviceCapabilitiesW(device_name, port, cap, NULL, devmode);
if (ret == -1) return ret;
if (ret == -1) goto cleanup;
switch (cap) {
case DC_BINNAMES:
@ -1795,6 +1795,7 @@ INT WINAPI DeviceCapabilitiesA(const char *device, const char *portA, WORD cap,
} else {
ret = DeviceCapabilitiesW(device_name, port, cap, (WCHAR *)output, devmode);
}
cleanup:
HeapFree(GetProcessHeap(), 0, device_name);
HeapFree(GetProcessHeap(), 0, devmode);
HeapFree(GetProcessHeap(), 0, port);