busybox: lineedit: initialize delptr

In vi mode, the 'p' and 'P' commands caused a segfault when nothing had
been put in the buffer yet because the delptr was not initialized.

(From OE-Core rev: 21ba0297409bfc6e0fb89f45c9bfed8981c7df5b)

Signed-off-by: Ming Liu <ming.liu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ming Liu 2014-01-09 17:57:07 +08:00 committed by Richard Purdie
parent b4f7995e9a
commit 7be3064bf5
2 changed files with 24 additions and 0 deletions

View File

@ -0,0 +1,23 @@
Derived from:
http://git.busybox.net/busybox/commit/?id=46031da862a60422f80050a905cea0b67026b021.
In vi mode, the 'p' and 'P' commands caused a segfault when nothing had
been put in the buffer yet because the delptr was not initialized.
Upstream-Status: Backport
Signed-off-by: Shawn J. Goff <shawn7400@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Ming Liu <ming.liu@windriver.com>
diff -urpN a/libbb/lineedit.c b/libbb/lineedit.c
--- a/libbb/lineedit.c
+++ b/libbb/lineedit.c
@@ -187,6 +187,7 @@ extern struct lineedit_statics *const li
cmdedit_termw = 80; \
IF_FEATURE_EDITING_FANCY_PROMPT(num_ok_lines = 1;) \
IF_USERNAME_OR_HOMEDIR(home_pwd_buf = (char*)null_str;) \
+ IF_FEATURE_EDITING_VI(delptr = delbuf;) \
} while (0)
static void deinit_S(void)

View File

@ -35,6 +35,7 @@ SRC_URI = "http://www.busybox.net/downloads/busybox-${PV}.tar.bz2;name=tarball \
file://busybox-list-suid-and-non-suid-app-configs.patch \
file://busybox-sed-fix-sed-clusternewline-testcase.patch \
file://find-get-rid-of-nested-functions.patch \
file://busybox-lineedit-initialize-delptr.patch \
"
SRC_URI[tarball.md5sum] = "795394f83903b5eec6567d51eebb417e"