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