Commit 38359141 by Martin Liska Committed by Martin Liska

Fix invalid memory access in gcc.c (driver/72765)

	PR driver/72765
	* gcc.c (do_spec_1): Call save_string with the right size.
	(save_string): Do an assert about string we copy.

From-SVN: r239475
parent 397d8acd
2016-08-15 Martin Liska <mliska@suse.cz>
PR driver/72765
* gcc.c (do_spec_1): Call save_string with the right size.
(save_string): Do an assert about string we copy.
2016-08-15 Richard Biener <rguenther@suse.de>
* ree.c (rest_of_handle_ree): Remove redundant timevar push/pop.
......
......@@ -5420,8 +5420,9 @@ do_spec_1 (const char *spec, int inswitch, const char *soft_matched_part)
if (files_differ)
#endif
{
temp_filename = save_string (temp_filename,
temp_filename_length + 1);
temp_filename
= save_string (temp_filename,
temp_filename_length - 1);
obstack_grow (&obstack, temp_filename,
temp_filename_length);
arg_going = 1;
......@@ -8362,6 +8363,7 @@ save_string (const char *s, int len)
{
char *result = XNEWVEC (char, len + 1);
gcc_checking_assert (strlen (s) >= (unsigned int) len);
memcpy (result, s, len);
result[len] = 0;
return result;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment