forked from wolfSSL/wolfssl
Fix for issues with wolfSSL_OBJ_nid2sn
and wc_OBJ_sn2nid
and logic finding max item when WOLFSSL_CUSTOM_CURVES
and ECC_CACHE_CURVE
are defined. Improvements to wolfSSL_EC_get_builtin_curves
to avoid using "min" as variable name and eliminate using a local static.
This commit is contained in:
16
src/ssl.c
16
src/ssl.c
@ -31868,20 +31868,18 @@ int wolfSSL_EC_POINT_is_at_infinity(const WOLFSSL_EC_GROUP *group,
|
||||
|
||||
size_t wolfSSL_EC_get_builtin_curves(WOLFSSL_EC_builtin_curve *r, size_t nitems)
|
||||
{
|
||||
static size_t ecc_sets_count = 0;
|
||||
size_t i, min;
|
||||
size_t ecc_sets_count;
|
||||
size_t i, min_nitems;
|
||||
|
||||
if (ecc_sets_count == 0) {
|
||||
for (i = 0; ecc_sets[i].size != 0; i++);
|
||||
ecc_sets_count = i;
|
||||
}
|
||||
for (i = 0; ecc_sets[i].size != 0 && ecc_sets[i].name != NULL; i++);
|
||||
ecc_sets_count = i;
|
||||
|
||||
if (r == NULL || nitems == 0)
|
||||
return ecc_sets_count;
|
||||
|
||||
min = nitems < ecc_sets_count ? nitems : ecc_sets_count;
|
||||
min_nitems = nitems < ecc_sets_count ? nitems : ecc_sets_count;
|
||||
|
||||
for (i = 0; i < min; i++) {
|
||||
for (i = 0; i < min_nitems; i++) {
|
||||
r[i].nid = ecc_sets[i].id;
|
||||
r[i].comment = ecc_sets[i].name;
|
||||
}
|
||||
@ -36875,7 +36873,7 @@ err:
|
||||
WOLFSSL_ENTER("wolfSSL_OBJ_nid2sn");
|
||||
|
||||
/* find based on NID and return name */
|
||||
for (i = 0; i < ecc_sets[i].size; i++) {
|
||||
for (i = 0; ecc_sets[i].size != 0; i++) {
|
||||
if (n == ecc_sets[i].id) {
|
||||
return ecc_sets[i].name;
|
||||
}
|
||||
|
@ -4811,7 +4811,7 @@ WOLFSSL_LOCAL int wc_OBJ_sn2nid(const char *sn)
|
||||
if (XSTRNCMP(sn, "secp384r1", 10) == 0)
|
||||
sn = "SECP384R1";
|
||||
/* find based on name and return NID */
|
||||
for (i = 0; i < ecc_sets[i].size; i++) {
|
||||
for (i = 0; ecc_sets[i].size != 0 && ecc_sets[i].name != NULL; i++) {
|
||||
if (XSTRNCMP(sn, ecc_sets[i].name, ECC_MAXNAME) == 0) {
|
||||
return ecc_sets[i].id;
|
||||
}
|
||||
|
Reference in New Issue
Block a user