From 63fa96e2168a98ead5e595134346650eece1c94e Mon Sep 17 00:00:00 2001 From: Luke Leighton Date: Fri, 15 Oct 1999 20:10:46 +0000 Subject: added prs_struct "error" member, set and checked when prs_struct data is handled. (This used to be commit b4ba49c5c114764247802bd8b0a6dbc0a7f5c2a1) --- source3/rpc_parse/parse_prs.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/source3/rpc_parse/parse_prs.c b/source3/rpc_parse/parse_prs.c index 80e7eecf13..c50b1d1567 100644 --- a/source3/rpc_parse/parse_prs.c +++ b/source3/rpc_parse/parse_prs.c @@ -227,11 +227,8 @@ BOOL _prs_uint16s(BOOL charmode, char *name, prs_struct *ps, int depth, uint16 * char *e; if (ps->error) return False; q = mem_data(&(ps->data), ps->offset); - end_offset = ps->offset + len * sizeof(uint8); + end_offset = ps->offset + len * sizeof(uint16); e = mem_data(&(ps->data), end_offset-1); - char *q = mem_data(&(ps->data), ps->offset); - int end_offset = ps->offset + len * sizeof(uint16); - char *e = mem_data(&(ps->data), end_offset-1); if (q == NULL || e == NULL) { @@ -255,7 +252,7 @@ BOOL _prs_uint32s(BOOL charmode, char *name, prs_struct *ps, int depth, uint32 * char *e; if (ps->error) return False; q = mem_data(&(ps->data), ps->offset); - end_offset = ps->offset + len * sizeof(uint8); + end_offset = ps->offset + len * sizeof(uint32); e = mem_data(&(ps->data), end_offset-1); if (q == NULL || e == NULL) @@ -281,7 +278,7 @@ BOOL _prs_buffer2(BOOL charmode, char *name, prs_struct *ps, int depth, BUFFER2 char *e; if (ps->error) return False; q = mem_data(&(ps->data), ps->offset); - end_offset = ps->offset + len * sizeof(uint8); + end_offset = ps->offset + str->buf_len; e = mem_data(&(ps->data), end_offset-1); if (q == NULL || e == NULL) @@ -307,7 +304,7 @@ BOOL _prs_string2(BOOL charmode, char *name, prs_struct *ps, int depth, STRING2 char *e; if (ps->error) return False; q = mem_data(&(ps->data), ps->offset); - end_offset = ps->offset + len * sizeof(uint8); + end_offset = ps->offset + str->str_str_len * sizeof(uint8); e = mem_data(&(ps->data), end_offset-1); if (q == NULL || e == NULL) @@ -333,7 +330,7 @@ BOOL _prs_unistr2(BOOL charmode, char *name, prs_struct *ps, int depth, UNISTR2 char *e; if (ps->error) return False; q = mem_data(&(ps->data), ps->offset); - end_offset = ps->offset + len * sizeof(uint8); + end_offset = ps->offset + str->uni_str_len * sizeof(uint16); e = mem_data(&(ps->data), end_offset-1); if (q == NULL || e == NULL) @@ -359,7 +356,7 @@ BOOL _prs_unistr3(BOOL charmode, char *name, UNISTR3 *str, prs_struct *ps, int d char *e; if (ps->error) return False; q = mem_data(&(ps->data), ps->offset); - end_offset = ps->offset + len * sizeof(uint8); + end_offset = ps->offset + str->uni_str_len * sizeof(uint16); e = mem_data(&(ps->data), end_offset-1); if (q == NULL || e == NULL) -- cgit