diff -up netkit-ftp-0.17/ftp/ruserpass.c.chkmalloc netkit-ftp-0.17/ftp/ruserpass.c --- netkit-ftp-0.17/ftp/ruserpass.c.chkmalloc 2008-12-01 11:54:15.000000000 +0100 +++ netkit-ftp-0.17/ftp/ruserpass.c 2008-12-01 11:56:06.000000000 +0100 @@ -137,7 +137,8 @@ next: if (token()) { if (*aname == 0) { *aname = malloc((unsigned) strlen(tokval) + 1); - (void) strcpy(*aname, tokval); + if (*aname != NULL) + (void) strcpy(*aname, tokval); } else { if (strcmp(*aname, tokval)) goto next; @@ -158,7 +159,8 @@ next: } if (token() && *apass == 0) { *apass = malloc((unsigned) strlen(tokval) + 1); - (void) strcpy(*apass, tokval); + if (*apass != NULL) + (void) strcpy(*apass, tokval); } break; case ACCOUNT: @@ -170,7 +172,8 @@ next: } if (token() && *aacct == 0) { *aacct = malloc((unsigned) strlen(tokval) + 1); - (void) strcpy(*aacct, tokval); + if (*aacct != NULL) + (void) strcpy(*aacct, tokval); } break; case MACDEF: