From 152b7975968cea9e11f707ca5e1a233c9de99cf7 Mon Sep 17 00:00:00 2001 From: Jun-ichi Takimoto Date: Wed, 7 Jan 2015 21:48:28 +0900 Subject: 34144: allocate origline by ztrdup(), not by dupstring() If origline is allocated in heap, it will have been freed when menuselect() is called directly as a widget. --- Src/Zle/complist.c | 6 ++++-- Src/Zle/zle_tricky.c | 3 ++- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'Src/Zle') diff --git a/Src/Zle/complist.c b/Src/Zle/complist.c index 80e5bf9d1..f54206619 100644 --- a/Src/Zle/complist.c +++ b/Src/Zle/complist.c @@ -2884,7 +2884,8 @@ domenuselect(Hookdef dummy, Chdata dat) brend = dupbrinfo(u->brend, &lastbrend, 0); nbrbeg = u->nbrbeg; nbrend = u->nbrend; - origline = u->origline; + zsfree(origline); + origline = ztrdup(u->origline); origcs = u->origcs; origll = u->origll; strcpy(status, u->status); @@ -3238,7 +3239,8 @@ domenuselect(Hookdef dummy, Chdata dat) * don't want that, just what the user typed, * so restore the information. */ - origline = modeline; + zsfree(origline); + origline = ztrdup(modeline); origcs = modecs; origll = modell; zlemetacs = 0; diff --git a/Src/Zle/zle_tricky.c b/Src/Zle/zle_tricky.c index 864f804b7..950c22f38 100644 --- a/Src/Zle/zle_tricky.c +++ b/Src/Zle/zle_tricky.c @@ -634,7 +634,8 @@ docomplete(int lst) metafy_line(); ocs = zlemetacs; - origline = dupstring(zlemetaline); + zsfree(origline); + origline = ztrdup(zlemetaline); origcs = zlemetacs; origll = zlemetall; if (!isfirstln && (chline != NULL || zle_chline != NULL)) { -- cgit 1.4.1