s4: Fix parsing of CSDVersion: treat this field as an string null terminated.
authorMatthieu Patou <mat@matws.net>
Fri, 11 Sep 2009 15:57:04 +0000 (19:57 +0400)
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>
Fri, 11 Sep 2009 17:16:58 +0000 (19:16 +0200)
 CDSVersion field contains one utf16 string and then garbage which pertubated the parsing.
 We use subcontext to clearly define the size of the whole blob and then let the parser to find
 the real length of the string.
 This is a fix for bug 6706, many thanks to Gunter for the PIDL guidelines.

librpc/idl/netlogon.idl

index 7ffc9f2e081513c16357e11d2fcadf409d75b81b..1cc0f2bc20091dea4d00e0c6e51f9b140e51c1e2 100644 (file)
@@ -1287,7 +1287,7 @@ interface netlogon
                uint32 MinorVersion;
                uint32 BuildNumber;
                uint32 PlatformId;
-               [charset(UTF16)] uint16 CSDVersion[128];
+               [subcontext(0),subcontext_size(256)] nstring CSDVersion;
                uint16 ServicePackMajor;
                uint16 ServicePackMinor;
                netr_SuiteMask SuiteMask;