mirror of
https://github.com/samba-team/samba.git
synced 2025-03-19 18:50:24 +03:00
libcli/auth: let msrpc_parse() return talloc'ed empty strings
This make it more predictable for the callers. BUG: https://bugzilla.samba.org/show_bug.cgi?id=11912 BUG: https://bugzilla.redhat.com/show_bug.cgi?id=1334356 BUG: https://launchpad.net/bugs/1578576 Signed-off-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Mon May 9 22:27:21 CEST 2016 on sn-devel-144 (cherry picked from commit 58a83236294117d32d9883ac3024f81fa1730a87) Autobuild-User(v4-3-test): Karolin Seeger <kseeger@samba.org> Autobuild-Date(v4-3-test): Tue May 17 14:29:44 CEST 2016 on sn-devel-104
This commit is contained in:
parent
3a69922173
commit
e44c9b6c77
@ -262,7 +262,11 @@ bool msrpc_parse(TALLOC_CTX *mem_ctx,
|
||||
|
||||
ps = va_arg(ap, char **);
|
||||
if (len1 == 0 && len2 == 0) {
|
||||
*ps = (char *)discard_const("");
|
||||
*ps = talloc_strdup(mem_ctx, "");
|
||||
if (*ps == NULL) {
|
||||
ret = false;
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
/* make sure its in the right format - be strict */
|
||||
if ((len1 != len2) || (ptr + len1 < ptr) || (ptr + len1 < len1) || (ptr + len1 > blob->length)) {
|
||||
@ -289,7 +293,11 @@ bool msrpc_parse(TALLOC_CTX *mem_ctx,
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
(*ps) = (char *)discard_const("");
|
||||
*ps = talloc_strdup(mem_ctx, "");
|
||||
if (*ps == NULL) {
|
||||
ret = false;
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
@ -302,7 +310,11 @@ bool msrpc_parse(TALLOC_CTX *mem_ctx,
|
||||
ps = (char **)va_arg(ap, char **);
|
||||
/* make sure its in the right format - be strict */
|
||||
if (len1 == 0 && len2 == 0) {
|
||||
*ps = (char *)discard_const("");
|
||||
*ps = talloc_strdup(mem_ctx, "");
|
||||
if (*ps == NULL) {
|
||||
ret = false;
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
if ((len1 != len2) || (ptr + len1 < ptr) || (ptr + len1 < len1) || (ptr + len1 > blob->length)) {
|
||||
ret = false;
|
||||
@ -325,7 +337,11 @@ bool msrpc_parse(TALLOC_CTX *mem_ctx,
|
||||
goto cleanup;
|
||||
}
|
||||
} else {
|
||||
(*ps) = (char *)discard_const("");
|
||||
*ps = talloc_strdup(mem_ctx, "");
|
||||
if (*ps == NULL) {
|
||||
ret = false;
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user