From: Andreas Schneider Date: Tue, 14 May 2019 10:48:14 +0000 (+0200) Subject: s3:libsmb: Add missing OOM check in fill_quota_buffer() X-Git-Tag: tdb-1.4.1~52 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=28518c579d485389ed4f2951de5f49f16ee53680;p=thirdparty%2Fsamba.git s3:libsmb: Add missing OOM check in fill_quota_buffer() Found by covscan (csbuild). Signed-off-by: Andreas Schneider Reviewed-by: Noel Power Autobuild-User(master): Jeremy Allison Autobuild-Date(master): Wed May 15 00:45:58 UTC 2019 on sn-devel-184 --- 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;