fix "(error) Possible null pointer dereference: BindAddr" by ensuring
authorDavid Kalnischkies <kalnischkies@gmail.com>
Sun, 4 Mar 2012 22:56:06 +0000 (23:56 +0100)
committerDavid Kalnischkies <kalnischkies@gmail.com>
Sun, 4 Mar 2012 22:56:06 +0000 (23:56 +0100)
that BindAddr isn't NULL after getaddrinfo()

methods/ftp.cc

index b1e8d2b..89c81f3 100644 (file)
@@ -721,14 +721,14 @@ bool FTPConn::CreateDataFd()
    DataListenFd = -1;
 
    // Get the information for a listening socket.
-   struct addrinfo *BindAddr = 0;
+   struct addrinfo *BindAddr = NULL;
    struct addrinfo Hints;
    memset(&Hints,0,sizeof(Hints));
    Hints.ai_socktype = SOCK_STREAM;
    Hints.ai_flags |= AI_PASSIVE;
    Hints.ai_family = ((struct sockaddr *)&ServerAddr)->sa_family;
    int Res;
-   if ((Res = getaddrinfo(0,"0",&Hints,&BindAddr)) != 0)
+   if ((Res = getaddrinfo(0,"0",&Hints,&BindAddr)) != 0 || BindAddr == NULL)
       return _error->Error(_("getaddrinfo was unable to get a listening socket"));
    
    // Construct the socket