git.samba.org
/
nivanova
/
samba-autobuild
/
.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1825077
)
ndr_compression: fix the build after lzxpress_decompress() prototype change
author
Stefan Metzmacher
<metze@samba.org>
Sun, 7 Sep 2008 16:52:29 +0000
(18:52 +0200)
committer
Stefan Metzmacher
<metze@samba.org>
Sun, 7 Sep 2008 17:18:48 +0000
(19:18 +0200)
metze
(This used to be commit
b36056aac3f55587d2b3e7b66feea8173dbc67f0
)
source4/librpc/ndr/ndr_compression.c
patch
|
blob
|
history
diff --git
a/source4/librpc/ndr/ndr_compression.c
b/source4/librpc/ndr/ndr_compression.c
index 5939c3838aa187f73230bc920bdc4e21651463ac..aa9f907eed505af4da2d8bbe0aac7b18b7598583 100644
(file)
--- a/
source4/librpc/ndr/ndr_compression.c
+++ b/
source4/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;
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) {
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 */
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 */
if ((plain_chunk_size < 0x00010000) || (ndrpull->offset+4 >= ndrpull->data_size)) {
/* this is the last chunk */