From 1407fcad6f1dac0a4efe8041660bf6139c1cd16a Mon Sep 17 00:00:00 2001 From: Robert Yang 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 --- 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