commit fcd9d510efc603189fd18f2dbdd7685d30298f70 from: Omar Polo date: Sun Jan 16 14:11:10 2022 UTC fix walk_path error handling: do_clunk only when miss == 0 ...otherwise nfid is not valid and do_clunk aborts. commit - 9c48f915c93a4d5ad0f7aa91b62f047f68054089 commit + fcd9d510efc603189fd18f2dbdd7685d30298f70 blob - 25002f0aacbc119a06152d97e75906764bb8ad7e blob + 8bab1f9ca2a3c21f8e76aae06c738e089defc1bc --- kamiftp/ftp.c +++ kamiftp/ftp.c @@ -982,7 +982,8 @@ cmd_cd(int argc, const char **argv) if (miss != 0 || !(qid.type & QTDIR)) { printf("%s: not a directory\n", argv[0]); - do_clunk(nfid); + if (miss == 0) + do_clunk(nfid); return; } @@ -1083,7 +1084,8 @@ cmd_get(int argc, const char **argv) if (miss != 0 || qid.type != 0) { printf("%s: not a file\n", argv[0]); - do_clunk(nfid); + if (miss == 0) + do_clunk(nfid); return; } @@ -1211,7 +1213,8 @@ cmd_page(int argc, const char **argv) if (miss != 0 || qid.type != 0) { printf("%s: not a file\n", *argv); - do_clunk(nfid); + if (miss == 0) + do_clunk(nfid); return; }