[PATCH] winspool.drv: Check return value of EnumPrintersA
Marcus Meissner
marcus at jet.franken.de
Sun Oct 24 05:09:42 CDT 2010
Hi,
Otherwise needed is in a undefined state.
Ciao, Marcus
---
dlls/winspool.drv/info.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/dlls/winspool.drv/info.c b/dlls/winspool.drv/info.c
index 4a084d1..4ffe092 100644
--- a/dlls/winspool.drv/info.c
+++ b/dlls/winspool.drv/info.c
@@ -964,8 +964,7 @@ void WINSPOOL_LoadSystemPrinters(void)
printers AddPrinter takes a while. So we'll tag all printers that
were automatically added last time around, if they still exist
we'll leave them be otherwise we'll delete them. */
- EnumPrintersA(PRINTER_ENUM_LOCAL, NULL, 5, NULL, 0, &needed, &num);
- if(needed) {
+ if (EnumPrintersA(PRINTER_ENUM_LOCAL, NULL, 5, NULL, 0, &needed, &num) && needed) {
PRINTER_INFO_5A* pi = HeapAlloc(GetProcessHeap(), 0, needed);
if(EnumPrintersA(PRINTER_ENUM_LOCAL, NULL, 5, (LPBYTE)pi, needed, &needed, &num)) {
for(i = 0; i < num; i++) {
--
1.7.1
More information about the wine-patches
mailing list