mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-13 11:58:26 -06:00
Update Libzip to latest 1.9.2 (#1071)
* Libzip 1.9.2 Updated Libzip to latest version 1.9.2 and changed version number in the config.h from 1.7.3 to 1.9.2. Not sure if anything else needs to be tweaked :) * Modified Libzip to work with Visual studio * Update README.md Update libzip copyright. * Added the missing files. I've added the missing files zipconf.h and config.h, I've missed those sorry for that!
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
zip_io_util.c -- I/O helper functions
|
||||
Copyright (C) 1999-2019 Dieter Baron and Thomas Klausner
|
||||
Copyright (C) 1999-2021 Dieter Baron and Thomas Klausner
|
||||
|
||||
This file is part of libzip, a library to manipulate ZIP archives.
|
||||
The authors can be contacted at <libzip@nih.at>
|
||||
The authors can be contacted at <info@libzip.org>
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
@@ -41,18 +41,18 @@ _zip_read(zip_source_t *src, zip_uint8_t *b, zip_uint64_t length, zip_error_t *e
|
||||
zip_int64_t n;
|
||||
|
||||
if (length > ZIP_INT64_MAX) {
|
||||
zip_error_set(error, ZIP_ER_INTERNAL, 0);
|
||||
return -1;
|
||||
zip_error_set(error, ZIP_ER_INTERNAL, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if ((n = zip_source_read(src, b, length)) < 0) {
|
||||
_zip_error_set_from_source(error, src);
|
||||
return -1;
|
||||
_zip_error_set_from_source(error, src);
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (n < (zip_int64_t)length) {
|
||||
zip_error_set(error, ZIP_ER_EOF, 0);
|
||||
return -1;
|
||||
zip_error_set(error, ZIP_ER_EOF, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -64,39 +64,39 @@ _zip_read_data(zip_buffer_t *buffer, zip_source_t *src, size_t length, bool nulp
|
||||
zip_uint8_t *r;
|
||||
|
||||
if (length == 0 && !nulp) {
|
||||
return NULL;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
r = (zip_uint8_t *)malloc(length + (nulp ? 1 : 0));
|
||||
if (!r) {
|
||||
zip_error_set(error, ZIP_ER_MEMORY, 0);
|
||||
return NULL;
|
||||
zip_error_set(error, ZIP_ER_MEMORY, 0);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (buffer) {
|
||||
zip_uint8_t *data = _zip_buffer_get(buffer, length);
|
||||
zip_uint8_t *data = _zip_buffer_get(buffer, length);
|
||||
|
||||
if (data == NULL) {
|
||||
zip_error_set(error, ZIP_ER_MEMORY, 0);
|
||||
free(r);
|
||||
return NULL;
|
||||
}
|
||||
memcpy(r, data, length);
|
||||
if (data == NULL) {
|
||||
zip_error_set(error, ZIP_ER_MEMORY, 0);
|
||||
free(r);
|
||||
return NULL;
|
||||
}
|
||||
memcpy(r, data, length);
|
||||
}
|
||||
else {
|
||||
if (_zip_read(src, r, length, error) < 0) {
|
||||
free(r);
|
||||
return NULL;
|
||||
}
|
||||
if (_zip_read(src, r, length, error) < 0) {
|
||||
free(r);
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
if (nulp) {
|
||||
zip_uint8_t *o;
|
||||
/* replace any in-string NUL characters with spaces */
|
||||
r[length] = 0;
|
||||
for (o = r; o < r + length; o++)
|
||||
if (*o == '\0')
|
||||
*o = ' ';
|
||||
zip_uint8_t *o;
|
||||
/* replace any in-string NUL characters with spaces */
|
||||
r[length] = 0;
|
||||
for (o = r; o < r + length; o++)
|
||||
if (*o == '\0')
|
||||
*o = ' ';
|
||||
}
|
||||
|
||||
return r;
|
||||
@@ -109,7 +109,7 @@ _zip_read_string(zip_buffer_t *buffer, zip_source_t *src, zip_uint16_t len, bool
|
||||
zip_string_t *s;
|
||||
|
||||
if ((raw = _zip_read_data(buffer, src, len, nulp, error)) == NULL)
|
||||
return NULL;
|
||||
return NULL;
|
||||
|
||||
s = _zip_string_new(raw, len, ZIP_FL_ENC_GUESS, error);
|
||||
free(raw);
|
||||
@@ -122,12 +122,12 @@ _zip_write(zip_t *za, const void *data, zip_uint64_t length) {
|
||||
zip_int64_t n;
|
||||
|
||||
if ((n = zip_source_write(za->src, data, length)) < 0) {
|
||||
_zip_error_set_from_source(&za->error, za->src);
|
||||
return -1;
|
||||
_zip_error_set_from_source(&za->error, za->src);
|
||||
return -1;
|
||||
}
|
||||
if ((zip_uint64_t)n != length) {
|
||||
zip_error_set(&za->error, ZIP_ER_WRITE, EINTR);
|
||||
return -1;
|
||||
zip_error_set(&za->error, ZIP_ER_WRITE, EINTR);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user