Bug 11201 - Segmentation fault when use getifaddrs function
: Segmentation fault when use getifaddrs function
Status: CLOSED NOTABUG
: Sisyphus
(All bugs in Sisyphus/glibc)
: unstable
: all Linux
: P1 normal
Assigned To:
:
: http://www.mail-archive.com/debian-gl...
:
:
:
  Show dependency tree
 
Reported: 2007-03-23 19:29 by
Modified: 2007-09-19 04:55 (History)


Attachments
prog for test bug (826 bytes, text/plain)
2007-03-23 19:32, Klimov Denis
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-03-23 19:29:15
This is my program, which demo bug in getifaddrs function:

/* TEST BUG PROGRAM
 *
 * Compile
 * gcc -o getifaddrs getifaddrs.c
 *
 * Testing
 * with up and down ppp* interfaces run ./getifaddrs
 *
 * Author: Klimov Denis aka zver
 * email: kliden <at> km.ru
 * 23/03/2007
 *
 * P.S. some problem info about this bug you may read
 * http://www.mail-archive.com/debian-glibc@lists.debian.org/msg32785.html
 */

#include <stdio.h>
#include <stdlib.h>

#include <sys/types.h>
#include <sys/socket.h>
#include <ifaddrs.h>

int main()
{
struct ifaddrs *ifap = NULL;
int rez = getifaddrs(&ifap);
int st=1;
if (rez==0 && ifap!=NULL)
        {
        do
                {
                if (st==1)
                        st=0;
                        else
                        ifap=(*ifap).ifa_next;
                if (ifap->ifa_addr->sa_family == AF_INET)
                        {
                        printf("Interface name: %s \n",(*ifap).ifa_name);
                        }
                }
        while  ((*ifap).ifa_next!=NULL);
        }
return 0;
}

Actual Results:  
Segmentation fault when ppp* device up
List network device when _all_ ppp* device down

Expected Results:  
List network device always

some problem info about this bug you may read example at this page:
http://www.mail-archive.com/debian-glibc@lists.debian.org/msg32785.html
------- Comment #1 From 2007-03-23 19:32:23 -------
Created an attachment (id=1872) [details]
prog for test bug
------- Comment #2 From 2007-03-27 15:45:17 -------
May be this help:
http://sources.redhat.com/ml/ecos-patches/2004-06/msg00015.html
------- Comment #3 From 2007-09-19 04:55:55 -------
ifa_addr references either the address of the interface or the link level
address of the interface, if one exists, otherwise it is NULL.

That is, your test case is bogus.