Check for possible buffer overflow on very long filenames.

Fixes Savannah bug #35525
This commit is contained in:
Paul Smith 2012-02-26 21:34:51 +00:00
parent c0751bd3fc
commit 6405534814
2 changed files with 12 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2012-02-26 Paul Smith <psmith@gnu.org>
* implicit.c (pattern_search): Check the stem length to avoid
stack overflows in stem_str. Fixes Savannah bug #35525.
2012-02-03 Eli Zaretskii <eliz@gnu.org>
* w32/subproc/sub_proc.c (proc_stdin_thread, proc_stdout_thread)

View file

@ -488,6 +488,13 @@ pattern_search (struct file *file, int archive,
dir = pathdir;
}
if (stemlen > GET_PATH_MAX)
{
DBS (DB_IMPLICIT, (_("Stem too long: `%.*s'.\n"),
(int) stemlen, stem));
continue;
}
DBS (DB_IMPLICIT, (_("Trying pattern rule with stem `%.*s'.\n"),
(int) stemlen, stem));