linux segmentation fault记录

文章将记录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. 待续...


posted @ 2013-11-20 21:20  idmask  阅读(273)  评论(0编辑  收藏  举报