summaryrefslogtreecommitdiff
path: root/libs/libssh2/src/comp.c
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2023-06-09 21:40:16 +0300
committerGeorge Hazan <george.hazan@gmail.com>2023-06-09 21:40:16 +0300
commit927f00cc19b7239a1fe12abe30b472d61b753d8d (patch)
tree68a190dd83dc2dcceb82464a1953f2701af2a109 /libs/libssh2/src/comp.c
parent1b241cad53b8c3c5300409fe681de18e636dcf3d (diff)
fixes #3551 (Update libssh2 to 1.11.0)
Diffstat (limited to 'libs/libssh2/src/comp.c')
-rw-r--r--libs/libssh2/src/comp.c61
1 files changed, 33 insertions, 28 deletions
diff --git a/libs/libssh2/src/comp.c b/libs/libssh2/src/comp.c
index fec82a74ba..55ddb85a48 100644
--- a/libs/libssh2/src/comp.c
+++ b/libs/libssh2/src/comp.c
@@ -1,5 +1,5 @@
-/* Copyright (c) 2004-2007, 2019, Sara Golemon <sarag@libssh2.org>
- * Copyright (c) 2010-2014, Daniel Stenberg <daniel@haxx.se>
+/* Copyright (C) Sara Golemon <sarag@libssh2.org>
+ * Copyright (C) Daniel Stenberg <daniel@haxx.se>
* All rights reserved.
*
* Redistribution and use in source and binary forms,
@@ -34,11 +34,15 @@
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
* OF SUCH DAMAGE.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
*/
#include "libssh2_priv.h"
+
#ifdef LIBSSH2_HAVE_ZLIB
-# include <zlib.h>
+#include <zlib.h>
+#undef compress /* dodge name clash with ZLIB macro */
#endif
#include "comp.h"
@@ -60,12 +64,12 @@ comp_method_none_comp(LIBSSH2_SESSION *session,
size_t src_len,
void **abstract)
{
- (void) session;
- (void) abstract;
- (void) dest;
- (void) dest_len;
- (void) src;
- (void) src_len;
+ (void)session;
+ (void)abstract;
+ (void)dest;
+ (void)dest_len;
+ (void)src;
+ (void)src_len;
return 0;
}
@@ -83,9 +87,9 @@ comp_method_none_decomp(LIBSSH2_SESSION * session,
const unsigned char *src,
size_t src_len, void **abstract)
{
- (void) session;
- (void) payload_limit;
- (void) abstract;
+ (void)session;
+ (void)payload_limit;
+ (void)abstract;
*dest = (unsigned char *) src;
*dest_len = src_len;
return 0;
@@ -162,8 +166,8 @@ comp_method_zlib_init(LIBSSH2_SESSION * session, int compr,
if(status != Z_OK) {
LIBSSH2_FREE(session, strm);
- _libssh2_debug(session, LIBSSH2_TRACE_TRANS,
- "unhandled zlib error %d", status);
+ _libssh2_debug((session, LIBSSH2_TRACE_TRANS,
+ "unhandled zlib error %d", status));
return LIBSSH2_ERROR_COMPRESS;
}
*abstract = strm;
@@ -188,11 +192,11 @@ comp_method_zlib_comp(LIBSSH2_SESSION *session,
void **abstract)
{
z_stream *strm = *abstract;
- int out_maxlen = *dest_len;
+ uInt out_maxlen = (uInt)*dest_len;
int status;
strm->next_in = (unsigned char *) src;
- strm->avail_in = src_len;
+ strm->avail_in = (uInt)src_len;
strm->next_out = dest;
strm->avail_out = out_maxlen;
@@ -203,9 +207,9 @@ comp_method_zlib_comp(LIBSSH2_SESSION *session,
return 0;
}
- _libssh2_debug(session, LIBSSH2_TRACE_TRANS,
+ _libssh2_debug((session, LIBSSH2_TRACE_TRANS,
"unhandled zlib compression error %d, avail_out",
- status, strm->avail_out);
+ status, strm->avail_out));
return _libssh2_error(session, LIBSSH2_ERROR_ZLIB, "compression failure");
}
@@ -226,17 +230,17 @@ comp_method_zlib_decomp(LIBSSH2_SESSION * session,
/* A short-term alloc of a full data chunk is better than a series of
reallocs */
char *out;
- size_t out_maxlen = src_len;
+ size_t out_maxlen;
if(src_len <= SIZE_MAX / 4)
- out_maxlen = src_len * 4;
+ out_maxlen = (uInt)src_len * 4;
else
out_maxlen = payload_limit;
/* If strm is null, then we have not yet been initialized. */
- if(strm == NULL)
+ if(!strm)
return _libssh2_error(session, LIBSSH2_ERROR_COMPRESS,
- "decompression uninitialized");;
+ "decompression uninitialized");
/* In practice they never come smaller than this */
if(out_maxlen < 25)
@@ -246,10 +250,11 @@ comp_method_zlib_decomp(LIBSSH2_SESSION * session,
out_maxlen = payload_limit;
strm->next_in = (unsigned char *) src;
- strm->avail_in = src_len;
- strm->next_out = (unsigned char *) LIBSSH2_ALLOC(session, out_maxlen);
+ strm->avail_in = (uInt)src_len;
+ strm->next_out = (unsigned char *) LIBSSH2_ALLOC(session,
+ (uInt)out_maxlen);
out = (char *) strm->next_out;
- strm->avail_out = out_maxlen;
+ strm->avail_out = (uInt)out_maxlen;
if(!strm->next_out)
return _libssh2_error(session, LIBSSH2_ERROR_ALLOC,
"Unable to allocate decompression buffer");
@@ -275,8 +280,8 @@ comp_method_zlib_decomp(LIBSSH2_SESSION * session,
else {
/* error state */
LIBSSH2_FREE(session, out);
- _libssh2_debug(session, LIBSSH2_TRACE_TRANS,
- "unhandled zlib error %d", status);
+ _libssh2_debug((session, LIBSSH2_TRACE_TRANS,
+ "unhandled zlib error %d", status));
return _libssh2_error(session, LIBSSH2_ERROR_ZLIB,
"decompression failure");
}
@@ -298,7 +303,7 @@ comp_method_zlib_decomp(LIBSSH2_SESSION * session,
}
out = newout;
strm->next_out = (unsigned char *) out + out_ofs;
- strm->avail_out = out_maxlen - out_ofs;
+ strm->avail_out = (uInt)(out_maxlen - out_ofs);
}
*dest = (unsigned char *) out;