From: Andrew Bartlett Date: Tue, 26 Nov 2019 05:35:36 +0000 (+1300) Subject: librpc: Remove last callers of ndr_pull_get_switch_value() X-Git-Tag: ldb-2.1.0~260 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b880bda589aa136bb954a757f25f8763b74aefd4;p=thirdparty%2Fsamba.git librpc: Remove last callers of ndr_pull_get_switch_value() By removing this we know we do not need to worry about this list growing without bounds. BUG: https://bugzilla.samba.org/show_bug.cgi?id=13876 Signed-off-by: Andrew Bartlett Reviewed-by: Gary Lockyer --- diff --git a/librpc/ndr/ndr_drsuapi.c b/librpc/ndr/ndr_drsuapi.c index 084057231d0..81d7112d691 100644 --- a/librpc/ndr/ndr_drsuapi.c +++ b/librpc/ndr/ndr_drsuapi.c @@ -496,12 +496,11 @@ enum ndr_err_code ndr_push_drsuapi_DsBindInfo(struct ndr_push *ndr, int ndr_flag enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flags, union drsuapi_DsBindInfo *r) { - uint32_t level; uint32_t _flags_save = ndr->flags; ndr->flags = ndr->flags & ~LIBNDR_FLAG_NDR64; - level = ndr_pull_get_switch_value(ndr, r); NDR_PULL_CHECK_FLAGS(ndr, ndr_flags); if (ndr_flags & NDR_SCALARS) { + uint32_t level = ndr_pull_steal_switch_value(ndr, r); NDR_CHECK(ndr_pull_union_align(ndr, 4)); switch (level) { case 24: { @@ -551,25 +550,6 @@ enum ndr_err_code ndr_pull_drsuapi_DsBindInfo(struct ndr_pull *ndr, int ndr_flag } } - if (ndr_flags & NDR_BUFFERS) { - switch (level) { - case 24: - break; - - case 28: - break; - - case 48: - break; - - case 52: - break; - - default: - break; - - } - } ndr->flags = _flags_save; return NDR_ERR_SUCCESS; }