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:
parent
a7b4ff4f0a
commit
df16e041de
4 changed files with 22 additions and 14 deletions
|
@ -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);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue