文章将记录linux学习使用中出现的各种segmentation fault,持续更新,希望对看到人有所帮助

1. linux pcap segmentation fault -- 2013.11.20

调用pcap_compile函数后出现segmentation fault

过程及分析如下:

...

sprintf(filter, "src %s", s_ip);

pcap_compile(p, &c, filter, promisc, m);

问题就出在filter这个参数,正常传个"src 8.8.8.8"是没有问题的

但s_ip是一个从配置文件里读出来的值,读完后没有判断s_ip这个参数的有效性

有可能是空值,也有可能是错误的值(不是可解析的ip地址)

这两种情况都将导致执行pcap_compile返回错误,从而导致segmentation fault

p1 虽然底层函数/库函数非常健壮,但我们还是要考虑到各种可能发生的情况

p2 这个问题在使用的时候才暴露出来,测试环节还得加强,验证各种输入

p3 正常来说读个配置参数都会稍作判断,为什么当时没有呢,

原来当时认为写入配置的部分有作判断,所以这边就"懒"了,结果是两边都以为对方会做"保护判断"

p4 不求能保护好"别人",但首先要保护好自己

p5 为了不通宵达旦的找bug,平时真不能"懒"

2. 待续...

linux segmentation fault记录的更多相关文章

  1. linux Ubuntu(Segmentation fault)段错误出现原因及调试方法

      在linux下编译了一个程序,尝试运行的时候出现: Segmentation fault (core dumped) 初步确认为...完全不知道是什么玩意. 于是找度娘了. ----------- ...

  2. Linux下的段错误(Segmentation fault)

    Linux开发中常见段错误问题原因分析 1 使用非法的内存地址(指针),包括使用未经初始化及已经释放的指针.不存在的地址.受系统保护的地址,只读的地址等,这一类也是最常见和最好解决的段错误问题,使用G ...

  3. linux backtrace()详细使用说明,分析Segmentation fault【转】

    转自:http://velep.com/archives/1032.html 在此之前,开发eCos应用程序时,经常碰到程序挂掉后,串口打印输出一大串让人看不懂的数据.今天才明白,原来这些数据是程序挂 ...

  4. linux C++ 莫名奇异的段错误(segmentation fault),无法调用其他函数

    进来在linux下开发C++项目,遇到了非常奇怪的bug. 项目须要多线程实现,在写好代码后,每当执行到线程函数内部,当内部调用其他函数如printf.fopen等时就会提示段错误(segmentat ...

  5. 记录一次apache错误:“child pid 29023 exit signal Segmentation fault (11)”

    目前做了一台公网的测试机,主要是  php 5.3.3 版本,是 browser  --> nginx  --> apache --> php 今天因为想要安装一个商城,要求需要 P ...

  6. linux backtrace()详细使用说明,分析Segmentation fault

    linux backtrace()详细使用说明,分析Segmentation fault 在此之前,开发eCos应用程序时,经常碰到程序挂掉后,串口打印输出一大串让人看不懂的数据.今天才明白,原来这些 ...

  7. linux: QT安装时出现段错误segmentation fault

    环境:macOS 10.14.6 VMware Fusion版本:11.0.1 QT版本:qt-creator-linux-x86_64-opensource-2.5.2.bin 安装时出现:segm ...

  8. Linux下的段错误(Segmentation fault)

    Linux下的段错误(Segmentation fault) 段错误是指:访问了系统分配给程序的内存空间之外起的内存空间,比如: 访问不存在的地址 访问受系统保护的地址 访问了只读内存地址 内存访问越 ...

  9. Linux下报错:Segmentation fault.

    遇到的问题:程序在读文件之后,准备执行fclose(fp);时,出现了如下错误: Program received signal SIGSEGV, Segmentation fault. 解决方法:倒 ...

随机推荐

  1. MFC基础窗口创建,CWinApp、CFrameWnd

    1.CWinApp(包括了这个类的导出类):代表了我们的程序.封装了消息循环等. 2.CFrameWnd:代表了程序的框架窗口.封装了窗口的注册.创建.显示.刷新.等等窗口操作. 3.Win32中.一 ...

  2. 安卓手机测试常见BUG

    安装 覆盖安装 跨版本安装 卸载后重新装 2.网络 2G网络下访问应用 网络不好的情况下,访问应用,是否会有数据返回 网络不好的情况下,切换到有网时,数据是否正常展示 WIFI断开时,再进入应用,之前 ...

  3. js通过添加随机数的方法,解决多张图片加载时由于缓存导致图片无法正确显示的问题

    问题出现描述:当对列表中某个图片进行重新编辑时,提交后会发现图片列表仍会出现修改之前的图片,新图片并未覆盖. 问题出现原因:缓存问题. 解决办法:通过js方法,在每张图片路劲后面添加一个随机数,这样每 ...

  4. 【Oracle】控制文件管理

    /* 控制文件是oracle数据库最重要的物理文件之一,每个oracle数据库都必须有一个控制文件,在启动数据库实例时, oracle会根据初始化参数查找到控制文件的名称及位置信息,并读取控制文件的内 ...

  5. <当幸福来敲门>之一些很喜欢的台词收藏

    <当幸福来敲门> ================ ================

  6. 一个还算简单的微信消息SDK(基于.Net Standard 2.0)

    虽然微信公众号出现了好久,不过在SDK这件事情上感觉并没有多少人把它当成一个有技术含量的事情来做,很多SDK做的事情就是一个代码的堆叠,当然也可能写的好的并没有开源出来.所以在某个翻遍Github而无 ...

  7. 迈向angularjs2系列(1):typescript指南

    typescript指南 前言 typescript是angularjs2推荐使用的脚本语言.它由微软2012年首次发布. 一.    typescript和javascript的区别 1.从遵循的规 ...

  8. JavaScript即时判断输入密码的强度

    源码示例: 1.javascript代码 <script type="text/javascript"> //CharMode函数 //测试某个字符是属于哪一类. fu ...

  9. C# 爬虫 抓取小说

    心血来潮,想研究下爬虫,爬点小说. 通过百度选择了个小说网站,随便找了一本小书http://www.23us.so/files/article/html/13/13655/index.html. 1. ...

  10. django框架简介

    -------------------MVC与MVT框架-------------------1.MVC MVC框架的核心思想是:解耦.降低各功能模块之间的耦合性,方便将来变化时,更容易重构代码,最大 ...