xkf321

Results 4 issues of xkf321

RTT的TFTP作为服务端,linux使用TFTP工具当作客户端上传文件到RTT 文件系统根目录时,显示上传成功。 再RTT的文件系统根目录也可以看见改文件,cat文件后内容也正常,但是使用open API 以绝对路径打开(/filename)打开该文件返回-1. 原因是保存文件到根目录时的判断对象错误,修改为full_path后测试正常 ![图片](https://user-images.githubusercontent.com/31227647/98330955-8369bd80-2036-11eb-8d12-8fdcce93578d.png) ![图片](https://user-images.githubusercontent.com/31227647/98331122-d93e6580-2036-11eb-8b59-92de43c22c1c.png)

如果读取slin.log.0, erpc.log.0 程序会崩溃 ,读取文件名为module.log.0 程序正常 调试后发现内存分配长度没有考虑\0, 由于malloc分配以字节对齐方式分配,当文件名不是对齐字节长度的整数倍,malloc会多分配一些字节以保证内存对齐,某些文件名长度正好是整数倍时,出现内存越界,导致程序崩溃 ![图片](https://user-images.githubusercontent.com/31227647/204416008-1bcc8102-c47c-4f44-bfa7-030ccd5cdd99.png)

clock_gettime(CLOCK_REALTIME, &ts); uint64_t ns = ts.tv_sec * 1000 * 1000 * 1000 + ts.tv_nsec; ns += ms * 1000 * 1000; ts.tv_sec = ns / (1000 * 1000 * 1000);...

系统时间变化可能导致sem_timedwait函数超时判断执行异常。 参见: https://blog.csdn.net/qq_42139745/article/details/134787826