diff mbox series

[meta-oe] android-tools: fix adb/libssl-1.1 patch

Message ID 20240528111826.4036084-1-dmitry.baryshkov@linaro.org
State Accepted
Headers show
Series [meta-oe] android-tools: fix adb/libssl-1.1 patch | expand

Commit Message

Dmitry Baryshkov May 28, 2024, 11:18 a.m. UTC
GCC 14.0 being stricter regarding const pointers pointed out the issue
in the adb_libssl_11.diff. RSA_get0_key returns pointers to internal
data of an RSA key structure. As such, this data should use const
pointers, should not be allocated and, more importantly, should not be
freed. Update the patch to use const pointers, drop allocation and
freeing of the 'n' big number.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
---
 .../android-tools/core/adb_libssl_11.diff             | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
diff mbox series

Patch

diff --git a/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff b/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
index 177d69a97a3e..ddb41ea4b081 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
+++ b/meta-oe/recipes-devtools/android-tools/android-tools/core/adb_libssl_11.diff
@@ -17,9 +17,10 @@  Upstream-Status: Pending
 +++ b/adb/adb_auth_host.c
 @@ -75,6 +75,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa,
      BIGNUM* rem = BN_new();
-     BIGNUM* n = BN_new();
+-    BIGNUM* n = BN_new();
++    const BIGNUM* n;
      BIGNUM* n0inv = BN_new();
-+    BIGNUM* e = BN_new();
++    const BIGNUM* e;
  
      if (RSA_size(rsa) != RSANUMBYTES) {
          ret = 0;
@@ -32,7 +33,7 @@  Upstream-Status: Pending
      BN_set_bit(r, RSANUMWORDS * 32);
      BN_mod_sqr(rr, r, n, ctx);
      BN_div(NULL, rem, n, r32, ctx);
-@@ -96,7 +97,7 @@ static int RSA_to_RSAPublicKey(RSA *rsa,
+@@ -96,11 +97,10 @@ static int RSA_to_RSAPublicKey(RSA *rsa,
          BN_div(n, rem, n, r32, ctx);
          pkey->n[i] = BN_get_word(rem);
      }
@@ -41,3 +42,7 @@  Upstream-Status: Pending
  
  out:
      BN_free(n0inv);
+-    BN_free(n);
+     BN_free(rem);
+     BN_free(r);
+     BN_free(rr);