[syslinux:master] ldlinux: Fix return pointer to local data

syslinux-bot for Sylvain Gault sylvain.gault at gmail.com
Sun Oct 18 10:18:04 PDT 2015

Commit-ID:  8dc6d758b564a1ccc44c3ae11f265d43628219ce
Gitweb:     http://www.syslinux.org/commit/8dc6d758b564a1ccc44c3ae11f265d43628219ce
Author:     Sylvain Gault <sylvain.gault at gmail.com>
AuthorDate: Tue, 13 Oct 2015 06:18:07 +0200
Committer:  Paulo Alcantara <pcacjr at zytor.com>
CommitDate: Sun, 18 Oct 2015 12:56:32 -0300

ldlinux: Fix return pointer to local data

The command-line parsing used to return a pointer to a local array. The
code used to work by chance, but now, gcc 5 is able to detect it and
return a NULL pointer instead.

The buffer is now marked static. This shouldn't be a problem as only one
command line can be read at a time.

Signed-off-by: Sylvain Gault <sylvain.gault at gmail.com>
Tested-by: poma <pomidorabelisima at gmail.com>
Signed-off-by: Paulo Alcantara <pcacjr at zytor.com>

 com32/elflink/ldlinux/cli.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/com32/elflink/ldlinux/cli.c b/com32/elflink/ldlinux/cli.c
index 6ff30c6..3119b11 100644
--- a/com32/elflink/ldlinux/cli.c
+++ b/com32/elflink/ldlinux/cli.c
@@ -125,7 +125,7 @@ const char *edit_cmdline(const char *input, int top /*, int width */ ,
 			 int (*pDraw_Menu) (int, int, int),
 			 void (*show_fkey) (int), bool *timedout)
-    char cmdline[MAX_CMDLINE_LEN] = { };
+    static char cmdline[MAX_CMDLINE_LEN] = { };
     int key, len, prev_len, cursor;
     int redraw = 0;
     int x, y;

More information about the Syslinux-commits mailing list