diff options
author | Stefan Metzmacher <metze@samba.org> | 2008-09-07 18:52:29 +0200 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2008-09-07 19:18:48 +0200 |
commit | b36056aac3f55587d2b3e7b66feea8173dbc67f0 (patch) | |
tree | 092661db0230a775dd6630cc6f12f68a5ca37eca | |
parent | ee505df3742dac0af8eec8b9b27d1e1f5ef54ca9 (diff) | |
download | samba-b36056aac3f55587d2b3e7b66feea8173dbc67f0.tar.gz |
ndr_compression: fix the build after lzxpress_decompress() prototype change
metze
-rw-r--r-- | source/librpc/ndr/ndr_compression.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/librpc/ndr/ndr_compression.c b/source/librpc/ndr/ndr_compression.c index 5939c3838aa..aa9f907eed5 100644 --- a/source/librpc/ndr/ndr_compression.c +++ b/source/librpc/ndr/ndr_compression.c @@ -276,6 +276,7 @@ static enum ndr_err_code ndr_pull_compression_xpress_chunk(struct ndr_pull *ndrp uint32_t plain_chunk_offset; uint32_t comp_chunk_size; uint32_t plain_chunk_size; + ssize_t ret; NDR_CHECK(ndr_pull_uint32(ndrpull, NDR_SCALARS, &plain_chunk_size)); if (plain_chunk_size > 0x00010000) { @@ -299,7 +300,16 @@ static enum ndr_err_code ndr_pull_compression_xpress_chunk(struct ndr_pull *ndrp plain_chunk_size, plain_chunk_size, comp_chunk_size, comp_chunk_size)); /* Uncompressing the buffer using LZ Xpress algorithm */ - lzxpress_decompress(&comp_chunk, &plain_chunk); + ret = lzxpress_decompress(comp_chunk.data, + comp_chunk.length, + plain_chunk.data, + plain_chunk.length); + if (ret < 0) { + return ndr_pull_error(ndrpull, NDR_ERR_COMPRESSION, + "XPRESS lzxpress_decompress() returned %d\n", + ret); + } + plain_chunk.length = ret; if ((plain_chunk_size < 0x00010000) || (ndrpull->offset+4 >= ndrpull->data_size)) { /* this is the last chunk */ |