=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/scp.c,v retrieving revision 1.216 retrieving revision 1.217 diff -u -r1.216 -r1.217 --- src/usr.bin/ssh/scp.c 2021/08/02 23:38:27 1.216 +++ src/usr.bin/ssh/scp.c 2021/08/04 01:34:55 1.217 @@ -1,4 +1,4 @@ -/* $OpenBSD: scp.c,v 1.216 2021/08/02 23:38:27 djm Exp $ */ +/* $OpenBSD: scp.c,v 1.217 2021/08/04 01:34:55 dtucker Exp $ */ /* * scp - secure remote copy. This is basically patched BSD rcp which * uses ssh to do the data transfer (instead of using rcmd). @@ -1428,11 +1428,9 @@ tmp = xstrdup(g.gl_pathv[i]); if ((filename = basename(tmp)) == NULL) { error("basename %s: %s", tmp, strerror(errno)); - free(tmp); err = -1; goto out; } - free(tmp); if (local_is_dir(dst)) abs_dst = path_append(dst, filename); @@ -1451,10 +1449,13 @@ } free(abs_dst); abs_dst = NULL; + free(tmp); + tmp = NULL; } out: free(abs_src); + free(tmp); globfree(&g); if (err == -1) { fatal("Failed to download file '%s'", src);