Importing, exporting and byteswapping zero length data should not
happen.
Signed-off-by: Pablo Neira Ayuso <[email protected]>
---
Probably this helps spot more problems with s390.
src/gmputil.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/src/gmputil.c b/src/gmputil.c
index a25f42ee2b64..424a83842b8d 100644
--- a/src/gmputil.c
+++ b/src/gmputil.c
@@ -94,6 +94,8 @@ void *mpz_export_data(void *data, const mpz_t op,
enum mpz_word_order order;
enum mpz_byte_order endian;
+ assert(len > 0);
+
switch (byteorder) {
case BYTEORDER_BIG_ENDIAN:
default:
@@ -118,6 +120,8 @@ void mpz_import_data(mpz_t rop, const void *data,
enum mpz_word_order order;
enum mpz_byte_order endian;
+ assert(len > 0);
+
switch (byteorder) {
case BYTEORDER_BIG_ENDIAN:
default:
@@ -137,6 +141,8 @@ void mpz_switch_byteorder(mpz_t rop, unsigned int len)
{
char data[len];
+ assert(len > 0);
+
mpz_export_data(data, rop, BYTEORDER_BIG_ENDIAN, len);
mpz_import_data(rop, data, BYTEORDER_HOST_ENDIAN, len);
}
--
2.11.0