summaryrefslogtreecommitdiff
path: root/librpc
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2011-03-27 21:19:37 +0200
committerVolker Lendecke <vl@samba.org>2011-03-27 23:18:52 +0200
commit7fe33816c20212e4f6faaf33101fa392a0676339 (patch)
treeb4db7b6570d9ef328f46d31957d0557f4c702df7 /librpc
parent6291a5040c3948ddd7d4ef276c680e907620bfbe (diff)
downloadsamba-7fe33816c20212e4f6faaf33101fa392a0676339.tar.gz
librpc: Add some error checking to dcerpc_floor_pack_rhs_if_version_data
(cherry picked from commit 8d9cbc7c221ae49acef60f82e90f387b05c8e91f)
Diffstat (limited to 'librpc')
-rw-r--r--librpc/rpc/binding.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/librpc/rpc/binding.c b/librpc/rpc/binding.c
index af47fcea3ca..381e3aedb54 100644
--- a/librpc/rpc/binding.c
+++ b/librpc/rpc/binding.c
@@ -443,6 +443,7 @@ static bool dcerpc_floor_pack_rhs_if_version_data(
{
DATA_BLOB blob;
struct ndr_push *ndr = ndr_push_init_ctx(mem_ctx);
+ enum ndr_err_code ndr_err;
if (ndr == NULL) {
return false;
@@ -450,7 +451,10 @@ static bool dcerpc_floor_pack_rhs_if_version_data(
ndr->flags |= LIBNDR_FLAG_NOALIGN;
- ndr_push_uint16(ndr, NDR_SCALARS, syntax->if_version >> 16);
+ ndr_err = ndr_push_uint16(ndr, NDR_SCALARS, syntax->if_version >> 16);
+ if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
+ return false;
+ }
blob = ndr_push_blob(ndr);
talloc_steal(mem_ctx, blob.data);