diff options
author | Volker Lendecke <vl@samba.org> | 2018-10-04 11:05:46 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2018-10-08 22:17:09 +0200 |
commit | 0c0c79b32e6c28f5e87caf57d9302c263952db71 (patch) | |
tree | 3c07d45c7df0b1ad6ef9495287c7eabe424732fa | |
parent | 8f211efb3a79f24d9542e1c2472633cce2334208 (diff) | |
download | samba-0c0c79b32e6c28f5e87caf57d9302c263952db71.tar.gz |
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>
-rw-r--r-- | source3/lib/util_tdb.c | 4 | ||||
-rw-r--r-- | source3/printing/printing.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/source3/lib/util_tdb.c b/source3/lib/util_tdb.c index 9f39fcb4df3..035daf8b7b7 100644 --- a/source3/lib/util_tdb.c +++ b/source3/lib/util_tdb.c @@ -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) diff --git a/source3/printing/printing.c b/source3/printing/printing.c index 105166ddf7d..e6caaa1222f 100644 --- a/source3/printing/printing.c +++ b/source3/printing/printing.c @@ -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; |