r25792: use NT_STATUS_HAVE_NO_MEMORY() and NDR_CHECK()
authorStefan Metzmacher <metze@samba.org>
Fri, 2 Nov 2007 09:26:49 +0000 (10:26 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 21 Dec 2007 04:44:01 +0000 (05:44 +0100)
metze
(This used to be commit eebc17b27a6d6467546a1f070d5233f6c1755f47)

source4/librpc/ndr/ndr.c

index 787bbdc383df8c88c8d515243d748d39be97e2ed..680ae9043e01ae2b2a4421f17be774632a31e766 100644 (file)
@@ -791,16 +791,11 @@ _PUBLIC_ NTSTATUS ndr_pull_union_blob_all(const DATA_BLOB *blob, TALLOC_CTX *mem
 _PUBLIC_ NTSTATUS ndr_push_struct_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, const void *p,
                              ndr_push_flags_fn_t fn)
 {
-       NTSTATUS status;
        struct ndr_push *ndr;
        ndr = ndr_push_init_ctx(mem_ctx);
-       if (!ndr) {
-               return NT_STATUS_NO_MEMORY;
-       }
-       status = fn(ndr, NDR_SCALARS|NDR_BUFFERS, p);
-       if (!NT_STATUS_IS_OK(status)) {
-               return status;
-       }
+       NT_STATUS_HAVE_NO_MEMORY(ndr);
+
+       NDR_CHECK(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p));
 
        *blob = ndr_push_blob(ndr);
        talloc_steal(mem_ctx, blob->data);
@@ -815,17 +810,12 @@ _PUBLIC_ NTSTATUS ndr_push_struct_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, con
 _PUBLIC_ NTSTATUS ndr_push_union_blob(DATA_BLOB *blob, TALLOC_CTX *mem_ctx, void *p,
                             uint32_t level, ndr_push_flags_fn_t fn)
 {
-       NTSTATUS status;
        struct ndr_push *ndr;
        ndr = ndr_push_init_ctx(mem_ctx);
-       if (!ndr) {
-               return NT_STATUS_NO_MEMORY;
-       }
+       NT_STATUS_HAVE_NO_MEMORY(ndr);
+
        ndr_push_set_switch_value(ndr, p, level);
-       status = fn(ndr, NDR_SCALARS|NDR_BUFFERS, p);
-       if (!NT_STATUS_IS_OK(status)) {
-               return status;
-       }
+       NDR_CHECK(fn(ndr, NDR_SCALARS|NDR_BUFFERS, p));
 
        *blob = ndr_push_blob(ndr);
        talloc_steal(mem_ctx, blob->data);