1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

tdb_unpack: Correct "len" arg for "B" format

All but one of the users of the "B" format specifier passed in a pointer
to uint32_t instead of what tdb_unpack expected, an "int". Because this
is a purely internal API, change the tdb_unpack function and adjust that
one caller.

To reviewers: Please check carefully, thanks :-)

Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
This commit is contained in:
Volker Lendecke 2018-10-04 11:05:46 +02:00 committed by Jeremy Allison
parent 8f211efb3a
commit 0c0c79b32e
2 changed files with 3 additions and 3 deletions

View File

@ -153,7 +153,7 @@ int tdb_unpack(const uint8_t *buf, int in_bufsize, const char *fmt, ...)
uint32_t *d;
size_t bufsize = in_bufsize;
size_t len;
int *i;
uint32_t *i;
void **p;
char *s, **b, **ps;
char c;
@ -216,7 +216,7 @@ int tdb_unpack(const uint8_t *buf, int in_bufsize, const char *fmt, ...)
memcpy(s, buf, len);
break;
case 'B': /* fixed-length string */
i = va_arg(ap, int *);
i = va_arg(ap, uint32_t *);
b = va_arg(ap, char **);
len = 4;
if (bufsize < len)

View File

@ -352,7 +352,7 @@ static int unpack_devicemode(TALLOC_CTX *mem_ctx,
struct spoolss_DeviceMode *dm;
enum ndr_err_code ndr_err;
char *data = NULL;
int data_len = 0;
uint32_t data_len = 0;
DATA_BLOB blob;
int len = 0;