]> asedeno.scripts.mit.edu Git - PuTTY.git/blobdiff - sftp.c
Fix major memory leak in sftp_cmd_ls (thanks to Hans-Juergen Petrich
[PuTTY.git] / sftp.c
diff --git a/sftp.c b/sftp.c
index 9ffd19c912e1c35e727830f6ca475c741202fe43..e1f6017342fcdc10ee146d20db4bb17211b85fc9 100644 (file)
--- a/sftp.c
+++ b/sftp.c
@@ -923,3 +923,28 @@ void fxp_free_names(struct fxp_names *names)
     sfree(names->names);
     sfree(names);
 }
+
+/*
+ * Duplicate an fxp_name structure.
+ */
+struct fxp_name *fxp_dup_name(struct fxp_name *name)
+{
+    struct fxp_name *ret;
+    ret = smalloc(sizeof(struct fxp_name));
+    ret->filename = dupstr(name->filename);
+    ret->longname = dupstr(name->longname);
+    ret->attrs = name->attrs;         /* structure copy */
+    return ret;
+}
+
+/*
+ * Free up an fxp_name structure.
+ */
+void fxp_free_name(struct fxp_name *name)
+{
+    int i;
+
+    sfree(name->filename);
+    sfree(name->longname);
+    sfree(name);
+}