Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/libexec/ftpd/ftpcmd.y,v rcsdiff: /ftp/cvs/cvsroot/src/libexec/ftpd/ftpcmd.y,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.77 retrieving revision 1.77.2.1 diff -u -p -r1.77 -r1.77.2.1 --- src/libexec/ftpd/ftpcmd.y 2003/08/07 09:46:39 1.77 +++ src/libexec/ftpd/ftpcmd.y 2004/08/12 20:09:55 1.77.2.1 @@ -1,4 +1,4 @@ -/* $NetBSD: ftpcmd.y,v 1.77 2003/08/07 09:46:39 agc Exp $ */ +/* $NetBSD: ftpcmd.y,v 1.77.2.1 2004/08/12 20:09:55 jmc Exp $ */ /*- * Copyright (c) 1997-2002 The NetBSD Foundation, Inc. @@ -79,7 +79,7 @@ #if 0 static char sccsid[] = "@(#)ftpcmd.y 8.3 (Berkeley) 4/6/94"; #else -__RCSID("$NetBSD: ftpcmd.y,v 1.77 2003/08/07 09:46:39 agc Exp $"); +__RCSID("$NetBSD: ftpcmd.y,v 1.77.2.1 2004/08/12 20:09:55 jmc Exp $"); #endif #endif /* not lint */ @@ -175,7 +175,7 @@ char *fromname; cmd_sel : cmd { - fromname = NULL; + REASSIGN(fromname, NULL); restart_point = (off_t) 0; } @@ -455,8 +455,7 @@ cmd if (check_write($3, 0)) { if (fromname) { renamecmd(fromname, $3); - free(fromname); - fromname = NULL; + REASSIGN(fromname, NULL); } else { reply(503, "Bad sequence of commands."); } @@ -879,7 +878,7 @@ rcmd : REST check_login SP NUMBER CRLF { if ($2) { - fromname = NULL; + REASSIGN(fromname, NULL); restart_point = (off_t)$4.ll; reply(350, "Restarting at " LLF ". Send STORE or RETRIEVE to initiate transfer.", @@ -890,8 +889,10 @@ rcmd | RNFR SP pathname CRLF { restart_point = (off_t) 0; - if (check_write($3, 0)) + if (check_write($3, 0)) { + REASSIGN(fromname, NULL); fromname = renamefrom($3); + } if ($3 != NULL) free($3); }