Remove unused bn_dup_expand().
authorjsing <jsing@openbsd.org>
Wed, 23 Nov 2022 02:44:01 +0000 (02:44 +0000)
committerjsing <jsing@openbsd.org>
Wed, 23 Nov 2022 02:44:01 +0000 (02:44 +0000)
ok tb@

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

index 95dc3ba..4fac4e7 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: bn_lcl.h,v 1.35 2022/07/15 06:10:00 tb Exp $ */
+/* $OpenBSD: bn_lcl.h,v 1.36 2022/11/23 02:44:01 jsing Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -525,8 +525,6 @@ int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp, const BN_U
 BIGNUM *bn_expand2(BIGNUM *a, int words);
 BIGNUM *bn_expand(BIGNUM *a, int bits);
 
-BIGNUM *bn_dup_expand(const BIGNUM *a, int words); /* unused */
-
 /* Bignum consistency macros
  * There is one "API" macro, bn_fix_top(), for stripping leading zeroes from
  * bignum data after direct manipulations on the data. There is also an
index e3d5cd7..18b213f 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: bn_lib.c,v 1.55 2022/11/23 02:20:27 jsing Exp $ */
+/* $OpenBSD: bn_lib.c,v 1.56 2022/11/23 02:44:01 jsing Exp $ */
 /* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
  * All rights reserved.
  *
@@ -263,7 +263,6 @@ BN_num_bits(const BIGNUM *a)
        return ((i * BN_BITS2) + BN_num_bits_word(a->d[i]));
 }
 
-/* This is used both by bn_expand2() and bn_dup_expand() */
 /* The caller MUST check that words > b->dmax before calling this */
 static BN_ULONG *
 bn_expand_internal(const BIGNUM *b, int words)
@@ -329,57 +328,6 @@ bn_expand_internal(const BIGNUM *b, int words)
        return (a);
 }
 
-/* This is an internal function that can be used instead of bn_expand2()
- * when there is a need to copy BIGNUMs instead of only expanding the
- * data part, while still expanding them.
- * Especially useful when needing to expand BIGNUMs that are declared
- * 'const' and should therefore not be changed.
- * The reason to use this instead of a BN_dup() followed by a bn_expand2()
- * is memory allocation overhead.  A BN_dup() followed by a bn_expand2()
- * will allocate new memory for the BIGNUM data twice, and free it once,
- * while bn_dup_expand() makes sure allocation is made only once.
- */
-
-#ifndef OPENSSL_NO_DEPRECATED
-BIGNUM *
-bn_dup_expand(const BIGNUM *b, int words)
-{
-       BIGNUM *r = NULL;
-
-       bn_check_top(b);
-
-       /* This function does not work if
-        *      words <= b->dmax && top < words
-        * because BN_dup() does not preserve 'dmax'!
-        * (But bn_dup_expand() is not used anywhere yet.)
-        */
-
-       if (words > b->dmax) {
-               BN_ULONG *a = bn_expand_internal(b, words);
-
-               if (a) {
-                       r = BN_new();
-                       if (r) {
-                               r->top = b->top;
-                               r->dmax = words;
-                               r->neg = b->neg;
-                               r->d = a;
-                       } else {
-                               /* r == NULL, BN_new failure */
-                               free(a);
-                       }
-               }
-               /* If a == NULL, there was an error in allocation in
-                  bn_expand_internal(), and NULL should be returned */
-       } else {
-               r = BN_dup(b);
-       }
-
-       bn_check_top(r);
-       return r;
-}
-#endif
-
 /* This is an internal function that should not be used in applications.
  * It ensures that 'b' has enough room for a 'words' word number
  * and initialises any unused part of b->d with leading zeros.