fixed bug where strtok() could return NULL in getpassf().
[rsync/rsync.git] / authenticate.c
index 896366a..885e40b 100644 (file)
@@ -170,8 +170,10 @@ static char *getpassf(char *filename)
        buffer[sizeof(buffer)-1]='\0';
        if ( (len=read(fd,buffer,sizeof(buffer)-1)) > 0)
        {
+               char *p = strtok(buffer,"\n\r");
                close(fd);
-               return strdup(strtok(buffer,"\n\r"));
+               if (p) p = strdup(p);
+               return p;
        }       
 
        return NULL;