PR24427, bfd/doc/chew.c reads uninitialized memory and subtracts from function pointer

PR 24427
	* doc/chew.c (free_words): Correctly free "push_text" strings.
This commit is contained in:
Michael Forney 2019-04-10 18:17:37 +09:30 committed by Alan Modra
parent a5def729be
commit b05971a652
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2019-04-10 Michael Forney <mforney@mforney.org>
PR 24427
* doc/chew.c (free_words): Correctly free "push_text" strings.
2019-04-08 H.J. Lu <hongjiu.lu@intel.com>
* config.bfd: Remove i[3-7]86-*-kaos* and i[3-7]86-*-chaos targets.

View File

@ -1260,11 +1260,11 @@ free_words (void)
if (ptr->code)
{
int i;
for (i = 0; i < ptr->code_length; i ++)
for (i = 0; i < ptr->code_end - 1; i ++)
if (ptr->code[i] == push_text
&& ptr->code[i + 1])
{
free (ptr->code[i + 1] - 1);
free ((char *) ptr->code[i + 1] - 1);
++ i;
}
free (ptr->code);