Преглед на файлове

Fix losing sign when multiplying by -1

Alexey Skalozub преди 8 години
родител
ревизия
5405255928
променени са 1 файла, в които са добавени 6 реда и са изтрити 2 реда
  1. 6 2
      components/mbedtls/port/esp_bignum.c

+ 6 - 2
components/mbedtls/port/esp_bignum.c

@@ -497,10 +497,14 @@ int mbedtls_mpi_mul_mpi( mbedtls_mpi *Z, const mbedtls_mpi *X, const mbedtls_mpi
         return 0;
     }
     if (bits_x == 1) {
-        return mbedtls_mpi_copy(Z, Y);
+        ret = mbedtls_mpi_copy(Z, Y);
+        Z->s *= X->s;
+        return ret;
     }
     if (bits_y == 1) {
-        return mbedtls_mpi_copy(Z, X);
+        ret = mbedtls_mpi_copy(Z, X);
+        Z->s *= Y->s;
+        return ret;
     }
 
     words_mult = (words_x > words_y ? words_x : words_y);