diff options
author | Andreas Schneider <asn@samba.org> | 2019-05-14 12:48:14 +0200 |
---|---|---|
committer | Jeremy Allison <jra@samba.org> | 2019-05-15 00:45:58 +0000 |
commit | 28518c579d485389ed4f2951de5f49f16ee53680 (patch) | |
tree | d0b222c7297eb5b729c2e89f7f77c35840b70bb8 /source3 | |
parent | 9345d11c44e55e9ad1eb6b55975d04561f5d2ba3 (diff) | |
download | samba-28518c579d485389ed4f2951de5f49f16ee53680.tar.gz |
s3:libsmb: Add missing OOM check in fill_quota_buffer()
Found by covscan (csbuild).
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Noel Power <nopower@suse.com>
Autobuild-User(master): Jeremy Allison <jra@samba.org>
Autobuild-Date(master): Wed May 15 00:45:58 UTC 2019 on sn-devel-184
Diffstat (limited to 'source3')
-rw-r--r-- | source3/libsmb/cliquota.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/libsmb/cliquota.c b/source3/libsmb/cliquota.c index 52f98eb9e8f..17655e095f3 100644 --- a/source3/libsmb/cliquota.c +++ b/source3/libsmb/cliquota.c @@ -587,13 +587,19 @@ NTSTATUS fill_quota_buffer(TALLOC_CTX *mem_ctx, SMB_NTQUOTA_LIST **end_ptr) { int ndr_flags = NDR_SCALARS | NDR_BUFFERS; - struct ndr_push *qndr = ndr_push_init_ctx(mem_ctx); + struct ndr_push *qndr = NULL; uint32_t start_offset = 0; uint32_t padding = 0; if (qlist == NULL) { /* We must push at least one. */ return NT_STATUS_NO_MORE_ENTRIES; } + + qndr = ndr_push_init_ctx(mem_ctx); + if (qndr == NULL) { + return NT_STATUS_NO_MEMORY; + } + for (;qlist != NULL; qlist = qlist->next) { struct file_quota_information info = {0}; enum ndr_err_code err; |