Brad Bishop | 6e60e8b | 2018-02-01 10:27:11 -0500 | [diff] [blame] | 1 | From d3b6303a6853f612a56848ee4e59eaa0b0ab9489 Mon Sep 17 00:00:00 2001 |
| 2 | From: Zhang Xiao <xiao.zhang@windriver.com> |
| 3 | Date: Tue, 21 Feb 2017 11:30:14 +0800 |
| 4 | Subject: [PATCH] bash: memleak bug fix for builtin command read |
| 5 | |
| 6 | Built in command "read" with "-e" use Readline to obtain the line |
| 7 | in an interactive shell. In this process, a string "rlbuf" is |
| 8 | just allocated without free operation thus cause memory leak. Fix it. |
| 9 | |
| 10 | Upstream-Status: Submitted [http://lists.gnu.org/archive/html/bug-bash/2017-02/msg00061.html] |
| 11 | |
| 12 | Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com> |
| 13 | --- |
| 14 | builtins/read.def | 5 +++++ |
| 15 | 1 file changed, 5 insertions(+) |
| 16 | |
| 17 | diff --git a/builtins/read.def b/builtins/read.def |
| 18 | index 4397154..ee0c5a6 100644 |
| 19 | --- a/builtins/read.def |
| 20 | +++ b/builtins/read.def |
| 21 | @@ -674,6 +674,11 @@ add_char: |
| 22 | input_string[i] = '\0'; |
| 23 | CHECK_ALRM; |
| 24 | |
| 25 | +#if defined (READLINE) |
| 26 | + if (edit) |
| 27 | + xfree (rlbuf); |
| 28 | +#endif |
| 29 | + |
| 30 | if (retval < 0) |
| 31 | { |
| 32 | t_errno = errno; |
| 33 | -- |
| 34 | 1.9.1 |
| 35 | |