summaryrefslogtreecommitdiff
path: root/source4/librpc/ndr
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2008-01-21 20:56:27 +1100
committerAndrew Bartlett <abartlet@samba.org>2008-01-21 20:56:27 +1100
commit8623c981b4a67dafc19234faffced1796f33b975 (patch)
tree3f04b6e4527b841d038a85c533627f6592748174 /source4/librpc/ndr
parent66871f9950f1998c97f97c9a095953c66ab4ab64 (diff)
downloadsamba-8623c981b4a67dafc19234faffced1796f33b975.tar.gz
samba-8623c981b4a67dafc19234faffced1796f33b975.tar.bz2
samba-8623c981b4a67dafc19234faffced1796f33b975.zip
Be sure to pass iconv handle down to compression subcontexts (fixes
segfaults in NET-API-BECOME-DC) Andrew Bartlett (This used to be commit 70c1e918e6bd01946425e2d89cb680f14152f9fc)
Diffstat (limited to 'source4/librpc/ndr')
-rw-r--r--source4/librpc/ndr/ndr_compression.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/source4/librpc/ndr/ndr_compression.c b/source4/librpc/ndr/ndr_compression.c
index 310f8c4ce4..86a5a2560e 100644
--- a/source4/librpc/ndr/ndr_compression.c
+++ b/source4/librpc/ndr/ndr_compression.c
@@ -112,6 +112,8 @@ static enum ndr_err_code ndr_pull_compression_mszip(struct ndr_pull *subndr,
comndr->data_size = uncompressed.length;
comndr->offset = 0;
+ comndr->iconv_convenience = talloc_reference(comndr, subndr->iconv_convenience);
+
NDR_CHECK(ndr_pull_uint32(comndr, NDR_SCALARS, &payload_header[0]));
NDR_CHECK(ndr_pull_uint32(comndr, NDR_SCALARS, &payload_header[1]));
NDR_CHECK(ndr_pull_uint32(comndr, NDR_SCALARS, &payload_header[2]));
@@ -215,6 +217,8 @@ static enum ndr_err_code ndr_pull_compression_xpress(struct ndr_pull *subndr,
comndr->data_size = uncompressed.length;
comndr->offset = 0;
+ comndr->iconv_convenience = talloc_reference(comndr, subndr->iconv_convenience);
+
*_comndr = comndr;
return NDR_ERR_SUCCESS;
}