Fix problems in CTF handling code exposed by the Coverity static analysis tool.

readelf	* readelf.c (parse_args): Silence potential warnings about a
	memory resource leak when allocating space for ctf option values.
	(dump_section_as_ctf): Fix typo checking dump_ctf_strtab_name
	variable.

libctf	* ctf-archive.c (ctf_arc_write): Avoid calling close twice on the
	same file descriptor.
This commit is contained in:
Nick Clifton 2020-07-22 16:07:48 +01:00
parent a7b4ff4f0a
commit df16e041de
4 changed files with 22 additions and 14 deletions

View file

@ -228,23 +228,16 @@ ctf_arc_write (const char *file, ctf_file_t ** ctf_files, size_t ctf_file_cnt,
err = ctf_arc_write_fd (fd, ctf_files, ctf_file_cnt, names, threshold);
if (err)
goto err;
goto err_close;
if ((err = close (fd)) < 0)
{
ctf_dprintf ("ctf_arc_write(): Cannot close after writing to archive: "
"%s\n", strerror (errno));
goto err_close;
}
err:
close (fd);
if (err < 0)
unlink (file);
return err;
ctf_dprintf ("ctf_arc_write(): Cannot close after writing to archive: "
"%s\n", strerror (errno));
goto err;
err_close:
(void) close (fd);
err:
if (err < 0)
unlink (file);