diff options
Diffstat (limited to 'source4/librpc')
-rw-r--r-- | source4/librpc/idl/nbt.idl | 4 | ||||
-rw-r--r-- | source4/librpc/ndr/ndr_basic.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/source4/librpc/idl/nbt.idl b/source4/librpc/idl/nbt.idl index 35fc7d90c4..caca7fa336 100644 --- a/source4/librpc/idl/nbt.idl +++ b/source4/librpc/idl/nbt.idl @@ -139,8 +139,8 @@ interface nbt nb_flags nb_flags; } nbt_status_name; - typedef [gensize] struct { - [value(ndr_size_nbt_rdata_status(r, ndr->flags)-2)] uint16 length; + typedef struct { + [value(r->num_names * 18 + 47)] uint16 length; uint8 num_names; nbt_status_name names[num_names]; nbt_statistics statistics; diff --git a/source4/librpc/ndr/ndr_basic.c b/source4/librpc/ndr/ndr_basic.c index e38b9d394a..61b3c9ec4d 100644 --- a/source4/librpc/ndr/ndr_basic.c +++ b/source4/librpc/ndr/ndr_basic.c @@ -887,7 +887,7 @@ NTSTATUS ndr_push_string(struct ndr_push *ndr, int ndr_flags, const char *s) d_len = (flags & LIBNDR_FLAG_STR_FIXLEN32)?32:15; NDR_PUSH_NEED_BYTES(ndr, byte_mul*d_len); ret = convert_string(CH_UNIX, chset, - s, s_len + 1, + s, s_len, ndr->data+ndr->offset, byte_mul*d_len); if (ret == -1) { return ndr_push_error(ndr, NDR_ERR_CHARCNV, |