summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2010-02-17 20:27:08 +0100
committerKarolin Seeger <kseeger@samba.org>2010-02-22 15:50:37 +0100
commit6b50cd60dd642d58d9e2f5166d18d8d75355b241 (patch)
tree5e1e81b9276c15040a494806267d31898b8f6305
parentdec87d05b2f3257a8c016d67de4fbeb2d93f93b5 (diff)
downloadsamba-6b50cd60dd642d58d9e2f5166d18d8d75355b241.tar.gz
samba-6b50cd60dd642d58d9e2f5166d18d8d75355b241.tar.xz
samba-6b50cd60dd642d58d9e2f5166d18d8d75355b241.zip
libndr: give an error when ndr_push_relative_ptr2_start()/_end() is used with the RELATIVE_REVERSE flag
metze (cherry picked from commit b5f9c44da55abb28222441a7e064a2a25891981f) (cherry picked from commit 2f8872bdff4f193043f5195f11ec6a8b44e0f8f1)
-rw-r--r--librpc/ndr/ndr.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/librpc/ndr/ndr.c b/librpc/ndr/ndr.c
index c3759985e83..15510d62162 100644
--- a/librpc/ndr/ndr.c
+++ b/librpc/ndr/ndr.c
@@ -1078,7 +1078,12 @@ _PUBLIC_ enum ndr_err_code ndr_push_relative_ptr2_start(struct ndr_push *ndr, co
if (p == NULL) {
return NDR_ERR_SUCCESS;
}
- return ndr_push_relative_ptr2(ndr, p);
+ if (!(ndr->flags & LIBNDR_FLAG_RELATIVE_REVERSE)) {
+ return ndr_push_relative_ptr2(ndr, p);
+ }
+
+ return ndr_push_error(ndr, NDR_ERR_RELATIVE,
+ "ndr_push_relative_ptr2_start RELATIVE_REVERSE flag set, but not supported");
}
/*