Add bn_copy(), a sane wrapper of BN_copy() for internal use
authortb <tb@openbsd.org>
Mon, 27 Mar 2023 08:37:33 +0000 (08:37 +0000)
committertb <tb@openbsd.org>
Mon, 27 Mar 2023 08:37:33 +0000 (08:37 +0000)
ok jsing

lib/libcrypto/bn/bn_lib.c
lib/libcrypto/bn/bn_local.h

index 89e2713..9da03e2 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: bn_lib.c,v 1.76 2023/02/14 18:22:35 jsing Exp $ */
+/* $OpenBSD: bn_lib.c,v 1.77 2023/03/27 08:37:33 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -384,6 +384,12 @@ BN_copy(BIGNUM *a, const BIGNUM *b)
        return (a);
 }
 
+int
+bn_copy(BIGNUM *dst, const BIGNUM *src)
+{
+       return BN_copy(dst, src) != NULL;
+}
+
 void
 BN_swap(BIGNUM *a, BIGNUM *b)
 {
index 4576c36..4912ae9 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: bn_local.h,v 1.17 2023/02/22 05:57:19 jsing Exp $ */
+/* $OpenBSD: bn_local.h,v 1.18 2023/03/27 08:37:33 tb Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -312,6 +312,8 @@ int BN_gcd_nonct(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx);
 
 int    BN_swap_ct(BN_ULONG swap, BIGNUM *a, BIGNUM *b, size_t nwords);
 
+int bn_copy(BIGNUM *dst, const BIGNUM *src);
+
 int bn_isqrt(BIGNUM *out_sqrt, int *out_perfect, const BIGNUM *n, BN_CTX *ctx);
 int bn_is_perfect_square(int *out_perfect, const BIGNUM *n, BN_CTX *ctx);