diff options
Diffstat (limited to 'scripts')
-rw-r--r-- | scripts/basic/docproc.c | 22 | ||||
-rw-r--r-- | scripts/basic/fixdep.c | 4 | ||||
-rw-r--r-- | scripts/kconfig/confdata.c | 3 | ||||
-rw-r--r-- | scripts/kconfig/mconf.c | 2 | ||||
-rw-r--r-- | scripts/kconfig/zconf.l | 3 | ||||
-rw-r--r-- | scripts/kconfig/zconf.y | 6 |
6 files changed, 23 insertions, 17 deletions
diff --git a/scripts/basic/docproc.c b/scripts/basic/docproc.c index dc7a0fcd2..ef5181226 100644 --- a/scripts/basic/docproc.c +++ b/scripts/basic/docproc.c | |||
@@ -79,7 +79,9 @@ void exec_kernel_doc(char **svec) | |||
79 | { | 79 | { |
80 | pid_t pid; | 80 | pid_t pid; |
81 | int ret; | 81 | int ret; |
82 | char real_filename[PATH_MAX + 1]; | 82 | char *real_filename; |
83 | int rflen; | ||
84 | |||
83 | /* Make sure output generated so far are flushed */ | 85 | /* Make sure output generated so far are flushed */ |
84 | fflush(stdout); | 86 | fflush(stdout); |
85 | switch(pid=fork()) { | 87 | switch(pid=fork()) { |
@@ -87,10 +89,11 @@ void exec_kernel_doc(char **svec) | |||
87 | perror("fork"); | 89 | perror("fork"); |
88 | exit(1); | 90 | exit(1); |
89 | case 0: | 91 | case 0: |
90 | memset(real_filename, 0, sizeof(real_filename)); | 92 | rflen = strlen(getenv("SRCTREE")); |
91 | strncat(real_filename, getenv("SRCTREE"), PATH_MAX); | 93 | rflen += strlen(KERNELDOCPATH KERNELDOC); |
92 | strncat(real_filename, KERNELDOCPATH KERNELDOC, | 94 | real_filename = alloca(rflen + 1); |
93 | PATH_MAX - strlen(real_filename)); | 95 | strcpy(real_filename, getenv("SRCTREE")); |
96 | strcat(real_filename, KERNELDOCPATH KERNELDOC); | ||
94 | execvp(real_filename, svec); | 97 | execvp(real_filename, svec); |
95 | fprintf(stderr, "exec "); | 98 | fprintf(stderr, "exec "); |
96 | perror(real_filename); | 99 | perror(real_filename); |
@@ -166,11 +169,10 @@ void find_export_symbols(char * filename) | |||
166 | struct symfile *sym; | 169 | struct symfile *sym; |
167 | char line[MAXLINESZ]; | 170 | char line[MAXLINESZ]; |
168 | if (filename_exist(filename) == NULL) { | 171 | if (filename_exist(filename) == NULL) { |
169 | char real_filename[PATH_MAX + 1]; | 172 | int rflen = strlen(getenv("SRCTREE")) + strlen(filename); |
170 | memset(real_filename, 0, sizeof(real_filename)); | 173 | char *real_filename = alloca(rflen + 1); |
171 | strncat(real_filename, getenv("SRCTREE"), PATH_MAX); | 174 | strcpy(real_filename, getenv("SRCTREE")); |
172 | strncat(real_filename, filename, | 175 | strcat(real_filename, filename); |
173 | PATH_MAX - strlen(real_filename)); | ||
174 | sym = add_new_file(filename); | 176 | sym = add_new_file(filename); |
175 | fp = fopen(real_filename, "r"); | 177 | fp = fopen(real_filename, "r"); |
176 | if (fp == NULL) | 178 | if (fp == NULL) |
diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c index 6d61044c4..bbb575cec 100644 --- a/scripts/basic/fixdep.c +++ b/scripts/basic/fixdep.c | |||
@@ -203,7 +203,7 @@ void clear_config(void) | |||
203 | */ | 203 | */ |
204 | void use_config(char *m, int slen) | 204 | void use_config(char *m, int slen) |
205 | { | 205 | { |
206 | char s[PATH_MAX]; | 206 | char *s = alloca(slen+1); |
207 | char *p; | 207 | char *p; |
208 | 208 | ||
209 | if (is_defined_config(m, slen)) | 209 | if (is_defined_config(m, slen)) |
@@ -310,7 +310,7 @@ void parse_dep_file(void *map, size_t len) | |||
310 | char *m = map; | 310 | char *m = map; |
311 | char *end = m + len; | 311 | char *end = m + len; |
312 | char *p; | 312 | char *p; |
313 | char s[PATH_MAX]; | 313 | char *s = alloca(len); |
314 | 314 | ||
315 | p = memchr(m, ':', len); | 315 | p = memchr(m, ':', len); |
316 | if (!p) { | 316 | if (!p) { |
diff --git a/scripts/kconfig/confdata.c b/scripts/kconfig/confdata.c index 9365a12c2..4f83fbfa2 100644 --- a/scripts/kconfig/confdata.c +++ b/scripts/kconfig/confdata.c | |||
@@ -70,12 +70,13 @@ static char *conf_expand_value(const char *in) | |||
70 | char *conf_get_default_confname(void) | 70 | char *conf_get_default_confname(void) |
71 | { | 71 | { |
72 | struct stat buf; | 72 | struct stat buf; |
73 | static char fullname[PATH_MAX+1]; | 73 | static char *fullname = NULL; |
74 | char *env, *name; | 74 | char *env, *name; |
75 | 75 | ||
76 | name = conf_expand_value(conf_defname); | 76 | name = conf_expand_value(conf_defname); |
77 | env = getenv(SRCTREE); | 77 | env = getenv(SRCTREE); |
78 | if (env) { | 78 | if (env) { |
79 | fullname = realloc(fullname, strlen(env) + strlen(name) + 2); | ||
79 | sprintf(fullname, "%s/%s", env, name); | 80 | sprintf(fullname, "%s/%s", env, name); |
80 | if (!stat(fullname, &buf)) | 81 | if (!stat(fullname, &buf)) |
81 | return fullname; | 82 | return fullname; |
diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c index 647ec09f1..0c548bfc0 100644 --- a/scripts/kconfig/mconf.c +++ b/scripts/kconfig/mconf.c | |||
@@ -258,7 +258,7 @@ search_help[] = N_( | |||
258 | 258 | ||
259 | static char buf[4096], *bufptr = buf; | 259 | static char buf[4096], *bufptr = buf; |
260 | static char input_buf[4096]; | 260 | static char input_buf[4096]; |
261 | static char filename[PATH_MAX+1] = ".config"; | 261 | static const char filename[] = ".config"; |
262 | static char *args[1024], **argptr = args; | 262 | static char *args[1024], **argptr = args; |
263 | static int indent; | 263 | static int indent; |
264 | static struct termios ios_org; | 264 | static struct termios ios_org; |
diff --git a/scripts/kconfig/zconf.l b/scripts/kconfig/zconf.l index d839577ca..6a58b80d3 100644 --- a/scripts/kconfig/zconf.l +++ b/scripts/kconfig/zconf.l | |||
@@ -265,13 +265,14 @@ static void zconf_endhelp(void) | |||
265 | */ | 265 | */ |
266 | FILE *zconf_fopen(const char *name) | 266 | FILE *zconf_fopen(const char *name) |
267 | { | 267 | { |
268 | char *env, fullname[PATH_MAX+1]; | 268 | char *env; |
269 | FILE *f; | 269 | FILE *f; |
270 | 270 | ||
271 | f = fopen(name, "r"); | 271 | f = fopen(name, "r"); |
272 | if (!f && name[0] != '/') { | 272 | if (!f && name[0] != '/') { |
273 | env = getenv(SRCTREE); | 273 | env = getenv(SRCTREE); |
274 | if (env) { | 274 | if (env) { |
275 | char *fullname = alloca(strlen(env) + strlen(name) + 2); | ||
275 | sprintf(fullname, "%s/%s", env, name); | 276 | sprintf(fullname, "%s/%s", env, name); |
276 | f = fopen(fullname, "r"); | 277 | f = fopen(fullname, "r"); |
277 | } | 278 | } |
diff --git a/scripts/kconfig/zconf.y b/scripts/kconfig/zconf.y index 0a7a79664..2007a4e02 100644 --- a/scripts/kconfig/zconf.y +++ b/scripts/kconfig/zconf.y | |||
@@ -14,8 +14,6 @@ | |||
14 | #define LKC_DIRECT_LINK | 14 | #define LKC_DIRECT_LINK |
15 | #include "lkc.h" | 15 | #include "lkc.h" |
16 | 16 | ||
17 | #include "zconf.hash.c" | ||
18 | |||
19 | #define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt) | 17 | #define printd(mask, fmt...) if (cdebug & (mask)) printf(fmt) |
20 | 18 | ||
21 | #define PRINTD 0x0001 | 19 | #define PRINTD 0x0001 |
@@ -99,6 +97,10 @@ static struct menu *current_menu, *current_entry; | |||
99 | menu_end_menu(); | 97 | menu_end_menu(); |
100 | } if_entry menu_entry choice_entry | 98 | } if_entry menu_entry choice_entry |
101 | 99 | ||
100 | %{ | ||
101 | #include "zconf.hash.c" | ||
102 | %} | ||
103 | |||
102 | %% | 104 | %% |
103 | input: stmt_list; | 105 | input: stmt_list; |
104 | 106 | ||