いま訳あってOpenSSLのソース追っているんだけど、これがほんとひどい。
よくみんなこんなもん使ってるよ、まったく。
ちょっと追っただけでも、
s=(unsigned char *)OPENSSL_malloc((unsigned int)siglen); --- (1)
if (s == NULL)
{ --- (2)
RSAerr(RSA_F_RSA_VERIFY,ERR_R_MALLOC_FAILURE);
goto err;
}
if((dtype == NID_md5_sha1) && (m_len != SSL_SIG_LENGTH) ) { --- (2)
RSAerr(RSA_F_RSA_VERIFY,RSA_R_INVALID_MESSAGE_LENGTH);
return(0); --- (3)
}
i=RSA_public_decrypt((int)siglen,sigbuf,s,rsa,RSA_PKCS1_PADDING);
(1)"s"みたいは1文字変数名を多用。処理追わないと意味分からんし、変数名での検索がしにくい。
(2)インデントのつけ方がばらばら。
(3)sを未解放のままreturnしている。
可読性あるコード書けないなら、せめてコメントぐらいちゃんとかけよゴルァ!