diff options
Diffstat (limited to 'source3/rpc_parse')
-rw-r--r-- | source3/rpc_parse/parse_misc.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/source3/rpc_parse/parse_misc.c b/source3/rpc_parse/parse_misc.c index ef4d0e7689..cd2aabd056 100644 --- a/source3/rpc_parse/parse_misc.c +++ b/source3/rpc_parse/parse_misc.c @@ -124,13 +124,20 @@ BOOL smb_io_time(const char *desc, NTTIME *nttime, prs_struct *ps, int depth) if(!prs_align(ps)) return False; + + if (MARSHALLING(ps)) { + low = *nttime & 0xFFFFFFFF; + high = *nttime >> 32; + } if(!prs_uint32("low ", ps, depth, &low)) /* low part */ return False; if(!prs_uint32("high", ps, depth, &high)) /* high part */ return False; - *nttime = (((uint64_t)high << 32) + low); + if (UNMARSHALLING(ps)) { + *nttime = (((uint64_t)high << 32) + low); + } return True; } |