免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5408 | 回复: 63
打印 上一主题 下一主题

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-09-12 20:51 |只看该作者 |倒序浏览
  1. vhar_t *hpsk;
  2. vhar_t *getpskbyaddr(struct sockaddr *);
复制代码

  1. #ifdef CYH
  2. printf("\nnext is by yvonne\n");
  3. #endif
  4. /* by yvonne */
  5. if(iph1->;side==INITIATOR&&iph1->;approval->;authmethod==OAKLEY_ATTR_AUTH_METHOD_PSKEY&&iph1->;etype == ISAKMP_ETYPE_IDENT)
  6. {
  7. //取psk,给hpsk赋值
  8. #ifdef CYH
  9. printf("\nbegin getpskbyaddr function");
  10. #endif
  11.                                                                                  
  12.    if(NULL==(hpsk=getpskbyaddr(iph1->;remote)))//原函数在下面
  13.       printf("\nhpsk is NULL\n");
  14.                                                                                  
  15. #ifdef CYH
  16. printf("\nend getpskbyaddr, begin eay_md5_one function");
  17. #endif
  18. .......
  19. ......
  20. }
复制代码



                                                                                 
                                                                                 
  1. vchar_t *
  2. getpskbyaddr(remote)
  3.         struct sockaddr *remote;
  4. {
  5.         vchar_t *key = NULL;
  6.         char addr[NI_MAXHOST], port[NI_MAXSERV];
  7.                                                                                  
  8.         GETNAMEINFO(remote, addr, port);
  9. #ifdef CYH
  10. printf("\n begin getpsk funtion\n");
  11. #endif
  12.         key = getpsk(addr, strlen(addr));
  13. #ifdef CYH
  14. if(NULL==key)printf("\n key is NULL\n");
  15. printf("\n end getpsk\n");
  16. #endif
  17.         return key;
  18. }
复制代码

                                                                                 
                                                                                 
调试信息如下:
root@localhost racoon]# env LD_LIBRARY_PATH=/usr/local/lib racoon -d  -F  -f /usr/local/etc/racoon/racoon.conf
Foreground mode.
                                                                                 
...................
...................
                                                                                 
next is by yvonne
                                                                                 
begin getpskbyaddr function
begin getpsk funtion
                                                                                 
read cunchun
                                                                                 
end getpsk
                                                                                 
段错误
[root@localhost racoon]#
                                                                                 
很明显的是,这一语句
if(NULL==(hpsk=getpskbyaddr(iph1->;remote)))//原函数在下面
      printf("\nhpsk is NULL\n";
没有执行,但是,getpskbyaddr()的确应该返回指针地址了,怎么就判断不了呢,这个我不懂,能
否指点一下

我把语句if(NULL==(hpsk=getpskbyaddr(iph1->;remote))) 屏蔽掉,再运行程序,
可以打印出 printf("\nhpsk is NULL\n";中的语句.

但它的下一条printf语句:

#ifdef CYH
printf("\nend getpskbyaddr, begin eay_md5_one function";
#endif
就不执行了,并显示段错误.

真是郁闷!![/code]

论坛徽章:
0
2 [报告]
发表于 2005-09-12 21:05 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

还啥年代的语法啊,好难看

用指针就的时刻留神有事先分配空间没有
怕错就到处检查下指针是不是有效啊
你那啥的数据结构是怎么样的,贴出来啊

论坛徽章:
0
3 [报告]
发表于 2005-09-12 21:07 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

用CODE功能编辑一下吧。看的眼都花了。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
4 [报告]
发表于 2005-09-12 21:08 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

最怕小妹了.

论坛徽章:
0
5 [报告]
发表于 2005-09-12 21:10 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

[quote]原帖由 "mq110"]最怕小妹了.[/quote 发表:

根据我的猜测,楼主应该叫你小弟。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
6 [报告]
发表于 2005-09-12 21:13 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

原帖由 "assiss" 发表:

根据我的猜测,楼主应该叫你小弟。


为啥啊??人家自认为小妹啦.

论坛徽章:
0
7 [报告]
发表于 2005-09-12 21:16 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

key = getpsk(addr, strlen(addr));
====
这句有问题。
addr你是声明为局部变量,没有初始化,里面内容为随机,不能使用strlen。

论坛徽章:
0
8 [报告]
发表于 2005-09-12 21:17 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

厉害,不过你就不怕她中间写了内容啊

论坛徽章:
0
9 [报告]
发表于 2005-09-12 21:21 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

[quote]原帖由 "luojiannx"]厉害,不过你就不怕她中间写了内容啊[/quote 发表:

根据我的判断,楼主如果在中间写了点什么,会用……表示的。既然她没用,那我就断定她没用了。 :em11:

论坛徽章:
0
10 [报告]
发表于 2005-09-12 21:21 |只看该作者

好奇怪的段错误啊?半天没找出来,高手帮帮小妹啊!!!

唉呀,帮我分析一下阿, 我用了code编辑了阿  .再次声明 ,我就是小妹
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP