summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2015-08-09 16:10:47 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2015-08-09 16:13:52 -0700
commita88415cbf71a02cfe26647d1775b00044df262d1 (patch)
treea76e2c35c86434da6597e1d230bfc8e49861e2a6
parent9958684574bf8b0ecec6983cca57f3fa3dd7cd63 (diff)
downloadzsh-a88415cbf71a02cfe26647d1775b00044df262d1.tar.gz
zsh-a88415cbf71a02cfe26647d1775b00044df262d1.zip
36026: zero freed pointers in zftp cleanup_() in case the module is re-loaded after unloading
-rw-r--r--ChangeLog3
-rw-r--r--Src/Modules/zftp.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index eada38b91..1456675bc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -16,6 +16,9 @@
2015-08-09 Barton E. Schaefer <schaefer@zsh.org>
+ * 36026: Src/Modules/zftp.c: zero freed pointers in cleanup_()
+ in case the module is re-loaded after unloading.
+
* 36022: Src/loop.c: fix bug that some loop constructs could
not be interrupted if all they did was variable assignments or
math expressions
diff --git a/Src/Modules/zftp.c b/Src/Modules/zftp.c
index 30f517658..bd51512f9 100644
--- a/Src/Modules/zftp.c
+++ b/Src/Modules/zftp.c
@@ -3149,9 +3149,11 @@ zftp_cleanup(void)
zfclose(zfsess != cursess);
}
zsfree(lastmsg);
+ lastmsg = NULL;
zfunsetparam("ZFTP_SESSION");
freelinklist(zfsessions, (FreeFunc) freesession);
zfree(zfstatusp, sizeof(int)*zfsesscnt);
+ zfstatusp = NULL;
}
static int