scmno****@osdn*****
scmno****@osdn*****
2017年 12月 18日 (月) 20:06:06 JST
Revision: 7005 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7005 Author: doda Date: 2017-12-18 20:06:06 +0900 (Mon, 18 Dec 2017) Log Message: ----------- パスワード無しで bcrypt_KDF 形式で秘密鍵を保存した時に落ちるのを修正。 r7002 でのエンバグ。 get_cipher_by_name() で暗号が見つからなかった場合に SSH_CIPHER_NONE へのポインタではなく、NULL を返すようにした。 Revision Links: -------------- http://sourceforge.jp/projects/ttssh2/scm/svn/commits/7002 Modified Paths: -------------- trunk/ttssh2/ttxssh/keyfiles.c trunk/ttssh2/ttxssh/ssh.c -------------- next part -------------- Modified: trunk/ttssh2/ttxssh/keyfiles.c =================================================================== --- trunk/ttssh2/ttxssh/keyfiles.c 2017-12-18 10:41:13 UTC (rev 7004) +++ trunk/ttssh2/ttxssh/keyfiles.c 2017-12-18 11:06:06 UTC (rev 7005) @@ -453,7 +453,7 @@ // \x88Í\x86\x89\xBB\x83A\x83\x8B\x83S\x83\x8A\x83Y\x83\x80\x82̖\xBC\x91O ciphername = buffer_get_string_msg(copy_consumed, NULL); cipher = get_cipher_by_name(ciphername); - if (cipher->id == SSH_CIPHER_NONE && strcmp(ciphername, "none") != 0) { + if (cipher == NULL && strcmp(ciphername, "none") != 0) { logprintf(LOG_LEVEL_ERROR, "%s: unknown cipher name", __FUNCTION__); goto error; } Modified: trunk/ttssh2/ttxssh/ssh.c =================================================================== --- trunk/ttssh2/ttxssh/ssh.c 2017-12-18 10:41:13 UTC (rev 7004) +++ trunk/ttssh2/ttxssh/ssh.c 2017-12-18 11:06:06 UTC (rev 7005) @@ -4152,8 +4152,11 @@ { SSH2Cipher *ptr = ssh2_ciphers; + if (name == NULL || name[0] == '\0') + return NULL; + while (ptr->name != NULL) { - if (name != NULL && strcmp(ptr->name, name) == 0) { + if (strcmp(ptr->name, name) == 0) { return ptr; } ptr++; @@ -4160,7 +4163,7 @@ } // not found. - return ptr; + return NULL; } static char * get_cipher_string(SSH2Cipher *cipher)