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:
parent
8f211efb3a
commit
0c0c79b32e
@ -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)
|
||||
|
@ -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;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user