summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorJoseph Sutton <josephsutton@catalyst.net.nz>2023-04-03 10:40:02 +1200
committerAndrew Bartlett <abartlet@samba.org>2023-04-05 01:06:29 +0000
commitf1174c6e0c4c033b3eae0b9ab94d76ac1382f74b (patch)
treed5849ce721d113ceab96f817b9665b653ce03854 /librpc
parentd0d588558d925ecc3e3d4136b8d7185f009154e6 (diff)
downloadsamba-f1174c6e0c4c033b3eae0b9ab94d76ac1382f74b.tar.gz
librpc/ndr: Fix NULL pointer dereference
BUG: https://bugzilla.samba.org/show_bug.cgi?id=15348 Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'librpc')
-rw-r--r--librpc/ndr/ndr_claims.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/librpc/ndr/ndr_claims.c b/librpc/ndr/ndr_claims.c
index fbfe612fbf4..6bafbbe1f85 100644
--- a/librpc/ndr/ndr_claims.c
+++ b/librpc/ndr/ndr_claims.c
@@ -37,13 +37,19 @@ size_t ndr_claims_compressed_size(struct CLAIMS_SET_NDR *claims_set,
enum CLAIMS_COMPRESSION_FORMAT wire_alg,
int flags)
{
- TALLOC_CTX *frame = talloc_stackframe();
+ TALLOC_CTX *frame = NULL;
DATA_BLOB tmp_blob;
uint8_t * tmp_compressed;
ssize_t compressed_size;
enum ndr_err_code ndr_err;
enum CLAIMS_COMPRESSION_FORMAT actual_wire_alg;
+ if (claims_set == NULL) {
+ return 0;
+ }
+
+ frame = talloc_stackframe();
+
ndr_err = ndr_push_struct_blob(&tmp_blob,
frame,
claims_set,