Importing, exporting and byteswapping zero length data should not happen. Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx> --- 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