From 1407fcad6f1dac0a4efe8041660bf6139c1cd16a Mon Sep 17 00:00:00 2001
|
From: Robert Yang <liezhi.yang@windriver.com>
|
Date: Tue, 24 Sep 2019 13:40:10 +0800
|
Subject: [PATCH] exp_main_sub.c: Use PATH_MAX for path
|
|
If expect was built from a long path whose length > 200, then it couldn't run:
|
$ expect -c 'puts yes'
|
*** buffer overflow detected ***: expect terminated
|
Aborted (core dumped)
|
|
Use PATH_MAX to fix the problem.
|
|
Upstream-Status: Pending [Upstream seems dead]
|
|
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
---
|
exp_main_sub.c | 8 ++++++--
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
diff --git a/exp_main_sub.c b/exp_main_sub.c
|
index fcfaa6e..bf6c4be 100644
|
--- a/exp_main_sub.c
|
+++ b/exp_main_sub.c
|
@@ -48,6 +48,10 @@ char exp_version[] = PACKAGE_VERSION;
|
#define NEED_TCL_MAJOR 7
|
#define NEED_TCL_MINOR 5
|
|
+#ifndef PATH_MAX
|
+#define PATH_MAX 4096
|
+#endif
|
+
|
char *exp_argv0 = "this program"; /* default program name */
|
void (*exp_app_exit)() = 0;
|
void (*exp_event_exit)() = 0;
|
@@ -901,7 +905,7 @@ int sys_rc;
|
int rc;
|
|
if (sys_rc) {
|
- char file[200];
|
+ char file[PATH_MAX];
|
int fd;
|
|
sprintf(file,"%s/expect.rc",SCRIPTDIR);
|
@@ -917,7 +921,7 @@ int sys_rc;
|
}
|
}
|
if (my_rc) {
|
- char file[200];
|
+ char file[PATH_MAX];
|
char *home;
|
int fd;
|
char *getenv();
|
--
|
2.7.4
|