首页 > 系统相关 >内存溢出会导致模块测试正常,植入系统失败

内存溢出会导致模块测试正常,植入系统失败

时间:2024-01-08 16:35:57浏览次数:36  
标签:植入 malloc 使用 系统 free 内存 模块 rdata


前些天,遇到了一个问题:需要在系统中添加一个小功能,单独测试,然后植入系统。

代码使用了从网上下载的函数,模块单独运行,没有问题,但是放在系统中运行就会出问题。
不得已的情况下,只能一行行代码排查,发现一个地方使用了malloc但是没有使用free。

结果,发现
malloc(rdata_len1);
之后使用了
prdata[rdata_len] = 0;
之后没有free。

直接测试模块函数没有问题,只要加入free(p);就崩溃。
系统运行也是很快就崩溃。

这是典型的内存溢出问题。
应该感谢那些提供方案的人,但是里面的错误还是要自己排查,不能拿来就用,特别是涉及到细节的时候。这个不像是使用执行模块,对错一目了然。
 

标签:植入,malloc,使用,系统,free,内存,模块,rdata
From: https://blog.51cto.com/u_15720208/9146705

相关文章

  • 如何在 Python 中安装 json 模块
    Python是一种功能强大的编程语言,自带了许多标准库,其中json模块是用于处理JSON数据的模块。在Python中安装json模块非常简单,因为它是标准库的一部分,不需要额外的安装步骤。JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于阅读和编写,并且易于机器解析和生成。Python的......
  • JVM3(内存区域)
    JVM内存区域主要分为线程私有区域【程序计数器、虚拟机栈、本地方法区】、线程共享区域【JAVA堆、方法区】、直接内存。线程私有数据区域生命周期与线程相同,依赖用户线程的启动/结束而创建/销毁(在HotspotVM内,每个线程都与操作系统的本地线程直接映射,因此这部分内存......
  • 【技术探讨】如何选择一款距离远的无线通信模块?
    在Sub-GHz无线产品中,如何选择一款通信距离远的无线通信模块呢? 选择符合业务的无线通信方案首先说到通信距离远,大家很快就会想到LoRa,LoRa的通信距离远是业界认可的,但是为了充分发给LoRa的技术特点,它的调制速率通常设定在0.3Kbps-1Kbps这个范围的,这个通信速率是很低的,它适用于发送......
  • 倒计时模块复习
    经典回顾倒计时倒计时的基本布局介绍。一个内容区域和一个输入区域,内容区域进行划分直接使用flex布局会更快一点。js代码我们利用一下模块化思想,直接把获得时间这个功能写成一个函数。方便后续的调用functiongetTime(){constdate=newDate()re......
  • java面向对象 + 内存解析
    这篇博客主要是重点讲解一些内存和一些规定的解释,对于定义我不会过多赘述,没有Java基础的话可以去翻看我之前的博客,学习完成之后再进行阅读。面向对象可以说是Java中最重要的一部分了,这次复习我发现有几个点比较重要,这里分享给大家引入:小明今天想要一辆玩具车,他获取这辆玩具车有两......
  • 动态内存开辟--在堆区进行开辟存储
    1.malloc值//1.malloc--开辟好的空间如果还没有使用,则都默认为随机值#include<stdlib.h>#include<string.h>#include<errno.h>#include<stdio.h>intmain(){ //向堆区内存申请开辟是个整型内存的空间,开辟的空间首地址交给指针p //int*p=(int*)malloc(10*sizeof(int)); ......
  • 常见的动态内存开辟错误
    1.没有判断malloc返回值是否开辟成功,对NULL解引用操作intmain(){ int*p=(int*)malloc(40);//没有判断malloc开辟失败情况 //万一malloc失败,p就被赋值为NULL for(inti=0;i<10;i++) { *(p+i)=i; } free(p); p=NULL; return0;}2.对动态开辟内存的越界......
  • 微软重定义键盘 将在键盘中植入Copilot键
    大家好,我是极智视界,欢迎关注我的公众号,获取我的更多前沿科技分享这篇其实大基调偏吐槽~先上图,Copilot其实就是微软AIGC的集大成者以及对外的统一接口,直接在键盘中"植入"Copilot键看起来是让"直通微软Copilot"更加便捷。从键盘本身来说,Copilot键肯定是很具微软特色,或者......
  • DC电源模块的可持续发展与环境保护
    BOSHIDA DC电源模块的可持续发展与环境保护DC电源模块的可持续发展与环境保护是一个重要议题。DC电源模块是一种能够将交流电转换为直流电的设备,广泛应用于各种电子设备和系统中。然而,传统的DC电源模块存在一些环境问题,如能源浪费和电磁辐射。为了推动可持续发展和环境保护,需要采......
  • DC电源模块的应用范围与市场前景
    DC电源模块的应用范围与市场前景DC电源模块广泛应用于各种电子设备和系统中,包括通信设备、计算机、工业自动化设备、医疗设备、航天航空设备、新能源设备等。它们为这些设备提供稳定的直流电源,保证设备的正常运行。DC电源模块主要用于为电子设备提供稳定的直流电源,其应用范围非常广......