说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210774490.5 (22)申请日 2022.07.01 (71)申请人 上海弘积信息科技有限公司 地址 201206 上海市浦东 新区新金桥路3 6 号上海国际财富中心南塔1701~1702 室 (72)发明人 王琳  (74)专利代理 机构 北京盛凡佳华专利代理事务 所(普通合伙) 11947 专利代理师 李冲 (51)Int.Cl. G06F 9/50(2006.01) H04L 9/40(2022.01) (54)发明名称 一种遍历 SSL协议栈代码内存泄漏的方法 (57)摘要 本发明公开了一种遍历SSL协议栈代码内存 泄漏的方法, 本发明用连接计数作为触发内存分 配失败的标志, 可 以用一次多连接测试, 遍历协 议栈代码中所有内存分配失败点, 模拟由此带来 的内存泄漏情况, 方便代码缺陷的定位, 不仅限 于SSL协议栈, 在其他协议处理类代码中都可以 使用, 可以通过一次测试遍历出所有的内存分配 失败所造成的内存泄 露问题。 权利要求书1页 说明书3页 附图1页 CN 115237591 A 2022.10.25 CN 115237591 A 1.一种遍历 SSL协议栈代码内存泄漏的方法, 其特 征在于, 包括以下步骤: 步骤一: 用宏定义 替换SSL协议栈中原来的内存分配函数; 步骤二: 在新的内存分配宏定义中增加两个计数变量, 分别为内存分配次数计数变量 以及SSL协议连接计数变量, 两个 计数变量均为触发次数变量且初值均为 零; 步骤三: 每次执行内存分配函数时, 比较内存分配次数变量和SSL协议触发次数变量, 当两个变量相等时则让 此次内存分配返回失败; 步骤四: 用测试仪发送S SL协议报文, 来触发负载均衡设备中的S SL协议处 理进行遍历; 步骤五: 大量的SSL协议报文触发了多次的SSL协议处理, SSL协议栈中的内存分配分别 在第1、 2、 3、 4、 ……、 N次执行时返回失败, 获取协议栈代码中所有内存分配失败场景; 步骤六: 通过内存泄 露工具检测内存泄 露情况。 2.根据权利要求1所述的一种遍历SSL协议栈代码内存泄漏的方法, 其特征在于: 所述 步骤二中, 两个 计数变量的触发条件如下: 内存分配次数计数变量在每次SSL协议栈开始触发的时候再次被清零, 在每次调用内 存分配函数时加一; SSL协议连接计数变量在每次S SL协议栈开始触发的时候加一。 3.根据权利要求1所述的一种遍历SSL协议栈代码内存泄漏的方法, 其特征在于: 所述 步骤四前, 需设置好mt race或memleak内存泄 露检测工具。权 利 要 求 书 1/1 页 2 CN 115237591 A 2一种遍历S SL协议栈代码内存泄漏的方 法 技术领域 [0001]本发明涉及计算机技 术领域, 具体是指一种遍历 SSL协议栈代码内存泄漏的方法。 背景技术 [0002]SSL是最早由Netscape公司提出的一种安全协议, 利用数据加密、 身份验证和消息 完整性验证机制, 为网络上数据的传输提供安全性保证。 SSL可以为HTTP提供安全连接, 从 而很大程度上改善 了万维网的安全性问题。 TLS是S SL协议的升级版本 。 [0003]SSL协议实现的安全机制包括: [0004]1、 数据传输的机密性: 利用对称密钥算法对传输的数据进行加密。 [0005]2、 身份验证机制: 基于证书利用数字签名方法对服务器和客户端进行身份验证, 其中客户端的身份验证是 可选的。 [0006]3、 消息完整性验证: 消息传输过程中使用MAC算法来检验消息的完整性。 [0007]负载均衡设备作为为服务器提供应用交付服务 的设备, 经常需要完成TLS/SSL卸 载的功能。 所以负载均衡设备中有完备的TLS/SSL协议栈代码。 由于TLS/SSL协议包含大量 的算法, 其协议栈的代码规模十 分庞大, 使得代码的调式和问题的定位十 分困难。 而定位代 码中内存泄漏是代码调试和问题定位中的一项重点任务。 [0008]现有内存泄漏定位方法, 只能定位代码流程中相对固定的内存泄漏点。 但由于SS L 协议栈代码的复杂性, 有很多内存泄漏的出现是由于之前的内存分配失败造成代码走入异 常分支而导致的, 而由于系统的复杂性, 内存分配失败情况的发生并不是固定的, 也造成了 此类内存泄漏问题很难一次定位完整, 需要反复测试才能发现全部内存泄 露点。 [0009]所以, 一种遍历 SSL协议栈代码内存泄漏的方法成为人们亟 待解决的问题。 发明内容 [0010]本发明要解决的技术问题是由于SSL协议栈代码中内存分配失败, 从而导致代码 走入异常分支, 而造成的这种内存泄露, 往往由于内存分配失败的不确定性, 而 无法一次全 部彻底发现。 [0011]为解决上述技术问题, 本发明提供的技术方案为一种遍历SSL协议栈代码内存泄 漏的方法, 其特 征在于, 包括以下步骤: [0012]步骤一: 用宏定义 替换SSL协议栈中原来的内存分配函数; [0013]步骤二: 在新的内存分配宏定义中增加两个计数变量, 分别为内存分配次数计数 变量以及S SL协议连接计数变量, 两个 计数变量均为触发次数变量且初值均为 零; [0014]步骤三: 每次执行内存分配函数时, 比较内存分配次数变量和SSL协议触发次数变 量, 当两个 变量相等时则让 此次内存分配返回失败; [0015]步骤四: 用测 试仪发送SSL协议报文, 来触发负载均衡设备中的SSL协议处理进行 遍历; [0016]步骤五: 大量的SS L协议报文触发了多次的SS L协议处理, SS L协议栈中的内存 分配说 明 书 1/3 页 3 CN 115237591 A 3

.PDF文档 专利 一种遍历SSL协议栈代码内存泄漏的方法

文档预览
中文文档 6 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共6页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种遍历SSL协议栈代码内存泄漏的方法 第 1 页 专利 一种遍历SSL协议栈代码内存泄漏的方法 第 2 页 专利 一种遍历SSL协议栈代码内存泄漏的方法 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:29:44上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。