Chinaunix

标题: 无线网络,设置ap 的 address的时候segment fault [打印本页]

作者: llzzccc    时间: 2008-10-04 01:41
标题: 无线网络,设置ap 的 address的时候segment fault
无线网络,设置ap 的 address的时候,如果输入的地址第一组不为全零的话,则会segment fault,为什么?

相当于"iwconfig ap xx:00:00:00:00:00",如果xx不为全零,就一定是segment fault。iwconfig也是返回segment fault.

源码:
    struct  iwreq   iwr;
    memset(&iwr,0x00,sizeof(iwr));
    strncpy(iwr.ifr_name,InterfaceName, IFNAMSIZ);
    iwr.u.addr.sa_family = 1;//ARPHRD_ETHER
    iwr.u.ap_addr.sa_data[0]=0x03;  
   .........................................//set the sa_data
  
    int sfd = socket( PF_INET, SOCK_STREAM, 0 );
    int rv  =   -1;
    if(sfd == -1)
    {
       printf("Error getting socket for ioctl! \n");
        return -1;
    }
    rv = ioctl(sfd,SIOCSIWAP, &iwr);

谢谢
作者: llzzccc    时间: 2008-10-08 03:02
是太简单了?没人愿意回答马?

我比较菜
作者: MMMIX    时间: 2008-10-08 09:26
原帖由 llzzccc 于 2008-10-8 03:02 发表
是太简单了?没人愿意回答马?


既然有源码,自己用 GDB 跟一下看看是什么地方出问题了。
作者: yangliu817    时间: 2008-10-08 09:27
iwconfig的用法有问题吧




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2