@@ -437,19 +437,20 @@ static const struct pkey_from_parameters_alias rsa_aliases[] = {
437437    { "q" ,    OSSL_PKEY_PARAM_RSA_FACTOR2  },
438438    { "dmp1" , OSSL_PKEY_PARAM_RSA_EXPONENT1  },
439439    { "dmq1" , OSSL_PKEY_PARAM_RSA_EXPONENT2  },
440-     { "iqmp" , OSSL_PKEY_PARAM_RSA_COEFFICIENT1  }
440+     { "iqmp" , OSSL_PKEY_PARAM_RSA_COEFFICIENT1  },
441+     { "" , ""  }
441442};
442443
443444static  const  struct  pkey_from_parameters_alias  fcc_aliases [] =  {
444445    { "pub_key" ,  OSSL_PKEY_PARAM_PUB_KEY  },
445-     { "priv_key" , OSSL_PKEY_PARAM_PRIV_KEY  }
446+     { "priv_key" , OSSL_PKEY_PARAM_PRIV_KEY  },
447+     { "" , ""  }
446448};
447449
448450struct  pkey_from_parameters_arg  {
449451    OSSL_PARAM_BLD  * param_bld ;
450452    const  OSSL_PARAM  * settable_params ;
451453    const  struct  pkey_from_parameters_alias  * aliases ;
452-     size_t  nAliases ;
453454};
454455
455456static  int 
@@ -463,7 +464,7 @@ add_parameter_to_builder(VALUE key, VALUE value, VALUE arg) {
463464    const  char  * key_ptr  =  StringValueCStr (key );
464465    const  struct  pkey_from_parameters_arg  * params  =  (const  struct  pkey_from_parameters_arg  * ) arg ;
465466
466-     for (size_t  i  =  0 ; i   <   params -> nAliases ; i ++ ) {
467+     for (int  i  =  0 ; strlen ( params -> aliases [ i ]. alias )  >   0 ; i ++ ) {
467468        if (strcmp (params -> aliases [i ].alias , key_ptr ) ==  0 ) {
468469            key_ptr  =  params -> aliases [i ].param_name ;
469470            break ;
@@ -517,7 +518,7 @@ add_parameter_to_builder(VALUE key, VALUE value, VALUE arg) {
517518        cur  +=  snprintf (cur , end - cur , fmt , settable_params -> key );
518519    }
519520
520-     for (size_t  i  =  0 ; i   <   params -> nAliases ; i ++ ) {
521+     for (int  i  =  0 ; strlen ( params -> aliases [ i ]. alias )  >   0 ; i ++ ) {
521522        const  char  * fmt  =  cur  ==  message_buffer  ? "%s"  : ", %s" ;
522523        if  (cur  >  end )
523524            break ;
@@ -556,13 +557,10 @@ pkey_from_parameters(int argc, VALUE *argv, VALUE self)
556557        ossl_raise (ePKeyError , "EVP_PKEY_fromdata_settable" );
557558    }
558559
559-     if  (strcmp ("RSA" , algorithm ) ==  0 ) { 
560+     if  (strcmp ("RSA" , algorithm ) ==  0 )
560561        from_params_args .aliases  =  rsa_aliases ;
561-         from_params_args .nAliases  =  sizeof (rsa_aliases )/sizeof ((rsa_aliases )[0 ]);
562-     } else  {
562+     else 
563563        from_params_args .aliases  =  fcc_aliases ;
564-         from_params_args .nAliases  =  sizeof (fcc_aliases )/sizeof ((fcc_aliases )[0 ]);
565-     }
566564
567565    rb_hash_foreach (options , & add_parameter_to_builder , (VALUE ) & from_params_args );
568566
0 commit comments