--- sourceforge.net/trunk/rdesktop/printer.c 2004/02/15 21:19:28 608 +++ sourceforge.net/trunk/rdesktop/printer.c 2004/03/04 08:08:13 623 @@ -109,14 +109,14 @@ static NTSTATUS printer_close(HANDLE handle) { - PRINTER *pprinter_data; - - pprinter_data = get_printer_data(handle); - - g_rdpdr_device[get_device_index(handle)].handle = 0; - - pclose(pprinter_data->printer_fp); - + int i = get_device_index(handle); + if (i >= 0) + { + PRINTER *pprinter_data = g_rdpdr_device[i].pdevice_data; + if (pprinter_data) + pclose(pprinter_data->printer_fp); + g_rdpdr_device[i].handle = 0; + } return STATUS_SUCCESS; }