diff options
author | Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp> | 2015-01-07 21:48:28 +0900 |
---|---|---|
committer | Jun-ichi Takimoto <takimoto-j@kba.biglobe.ne.jp> | 2015-01-07 21:48:28 +0900 |
commit | 152b7975968cea9e11f707ca5e1a233c9de99cf7 (patch) | |
tree | 78d8ff2dd0e32dfded120b43b7a3a2ba2cc76ca1 /Src/Zle/complist.c | |
parent | b11f7a7e3028420d027e71713d5ec1cae0451fbb (diff) | |
download | zsh-152b7975968cea9e11f707ca5e1a233c9de99cf7.tar.gz zsh-152b7975968cea9e11f707ca5e1a233c9de99cf7.tar.xz zsh-152b7975968cea9e11f707ca5e1a233c9de99cf7.zip |
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.
Diffstat (limited to 'Src/Zle/complist.c')
-rw-r--r-- | Src/Zle/complist.c | 6 |
1 files changed, 4 insertions, 2 deletions
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; |