svnno****@sourc*****
svnno****@sourc*****
2015年 1月 4日 (日) 21:42:38 JST
Revision: 5756 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5756 Author: maya Date: 2015-01-04 21:42:37 +0900 (Sun, 04 Jan 2015) Log Message: ----------- YMODEM で受信したファイル情報が最後までファイル名だった場合、ファイル名の終端がおかしくなる問題を修正 https://sourceforge.jp/ticket/browse.php?group_id=1412&tid=34667 3番目 Modified Paths: -------------- trunk/teraterm/ttpfile/ymodem.c -------------- next part -------------- Modified: trunk/teraterm/ttpfile/ymodem.c =================================================================== --- trunk/teraterm/ttpfile/ymodem.c 2015-01-03 13:48:21 UTC (rev 5755) +++ trunk/teraterm/ttpfile/ymodem.c 2015-01-04 12:42:37 UTC (rev 5756) @@ -541,13 +541,17 @@ BYTE *p; char *name, *nameend; - p = &(yv->PktIn[3]); + p = (BYTE *)malloc(yv->DataLen + 1); + memset(p, 0, yv->DataLen + 1); + memcpy(p, &(yv->PktIn[3]), yv->DataLen); name = p; strncpy_s(&(fv->FullName[fv->DirLen]), sizeof(fv->FullName) - fv->DirLen, name, _TRUNCATE); - if (!FTCreateFile(fv)) + if (!FTCreateFile(fv)) { + free(p); return FALSE; + } nameend = name + 1 + strlen(name); if (*nameend) { ret = sscanf(nameend, "%ld%lo%o", &bytes_total, &modtime, &mode); @@ -566,6 +570,7 @@ // \x8E\x9F\x82̃t\x83@\x83C\x83\x8B\x91\x97\x90M\x82𑣂\xB7\x82\xBD\x82߁A'C'\x82𑗂\xE9\x81B YSendNAK(fv,yv,cv); + free(p); return TRUE; }