vcpkg/ports/wolfssl/pr_5949.patch

47 lines
1.6 KiB
Diff
Raw Normal View History

diff --git a/src/internal.c b/src/internal.c
index 1afa361f9d0..c17158b34cd 100644
--- a/src/internal.c
+++ b/src/internal.c
@@ -12781,9 +12781,17 @@ static int ProcessPeerCertParse(WOLFSSL* ssl, ProcPeerCertArgs* args,
return BAD_FUNC_ARG;
}
+PRAGMA_GCC_DIAG_PUSH
+PRAGMA_GCC("GCC diagnostic ignored \"-Wstrict-overflow\"")
+ /* Surrounded in gcc pragma to avoid -Werror=strict-overflow when the
+ * compiler optimizes out the check and assumes no underflow. Keeping the
+ * check in place to handle multiple build configurations and future
+ * changes. */
+
/* check to make sure certificate index is valid */
if (args->certIdx > args->count)
return BUFFER_E;
+PRAGMA_GCC_DIAG_POP
/* check if returning from non-blocking OCSP */
/* skip this section because cert is already initialized and parsed */
diff --git a/wolfcrypt/src/sp_int.c b/wolfcrypt/src/sp_int.c
index b5199ed7352..cbff871f08a 100644
--- a/wolfcrypt/src/sp_int.c
+++ b/wolfcrypt/src/sp_int.c
@@ -4822,6 +4822,10 @@ int sp_copy(const sp_int* a, sp_int* r)
}
/* Only copy if different pointers. */
else if (a != r) {
+ PRAGMA_GCC_DIAG_PUSH
+ PRAGMA_GCC("GCC diagnostic ignored \"-Wstrict-overflow\"")
+ /* Surrounded in gcc pragma to avoid -Werror=strict-overflow when the
+ * compiler optimizes out the check and assumes no overflow. */
/* Validated space in result. */
if (a->used > r->size) {
err = MP_VAL;
@@ -4841,6 +4845,7 @@ int sp_copy(const sp_int* a, sp_int* r)
r->sign = a->sign;
#endif
}
+ PRAGMA_GCC_DIAG_POP
}
return err;