From 134e1b9398792043546a3a986eb1fce9f18104f8 Mon Sep 17 00:00:00 2001 From: Apex Liu Date: Thu, 16 Mar 2017 01:22:55 +0800 Subject: [PATCH] Created crash analysis - 1 (markdown) --- crash-analysis---1.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 crash-analysis---1.md diff --git a/crash-analysis---1.md b/crash-analysis---1.md new file mode 100644 index 0000000..1c8c34a --- /dev/null +++ b/crash-analysis---1.md @@ -0,0 +1,15 @@ +# 崩溃分析 + +bug: + +在Linux平台,核心服务(tp_core)版本2.0.0.1有时会发生崩溃,经过分析core dump后,有以下结果: + +> ssh会话中,接收到服务器发回的数据时,核心服务试图解析数据,将其中主机名部分替换成远程主机IP,以便xShell/SecureCRT等软件在其标签页上显示远程主机的IP地址,而不是teleport服务器的IP地址。 +> +> 如果服务端返回的数据过长,或者程序计算有误,导致临时分配内存失败(返回空指针),但是后续操作并未检查此情况,仍然向此空指针写入数据,导致非法内存访问而崩溃。 + +改进方法: + + - 检查内存分配是否成功; + - 仅对ssh命令行数据进行解析,忽略scp/sftp下载数据; + - 限定要分析的数据长度,操作一定阀值的数据不进行解析; \ No newline at end of file