From: David Disseldorp Date: Sun, 13 Nov 2011 19:40:56 +0000 (+0100) Subject: idl: add to_null attribute to the spoolss formname array X-Git-Tag: tevent-0.9.15~371 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=0df5d0608e8aaa7dce2866d0c2cc4c27c677d98d;p=thirdparty%2Fsamba.git idl: add to_null attribute to the spoolss formname array OpenPrinterEx requests have been observed in the wild carrying a device mode formname "A4" followed by non-utf16 garbage after the null terminator. Such requests currently fail during unmarshalling in the ndr_pull_charset() codepath, causing intermittent print job failures. This change ensures that garbage after the device mode formname null terminator is not processed in unmarshalling. https://bugzilla.samba.org/show_bug.cgi?id=8606 Signed-off-by: Jeremy Allison --- diff --git a/librpc/idl/spoolss.idl b/librpc/idl/spoolss.idl index 4599e3ac2e5..4b1f94f4a35 100644 --- a/librpc/idl/spoolss.idl +++ b/librpc/idl/spoolss.idl @@ -697,7 +697,7 @@ cpp_quote("#define spoolss_security_descriptor security_descriptor") uint16 yresolution; spoolss_DeviceModeTTOption ttoption; spoolss_DeviceModeCollate collate; - [charset(UTF16)] uint16 formname[MAXDEVICENAME]; + [charset(UTF16),to_null] uint16 formname[MAXDEVICENAME]; uint16 logpixels; /* reserved */ uint32 bitsperpel; /* reserved */ uint32 pelswidth; /* reserved */