Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Mar 2020 17:06:24 +0000 (UTC)
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-12@freebsd.org
Subject:   svn commit: r359370 - in stable/12/contrib/elftoolchain: libdwarf libelftc libpe readelf
Message-ID:  <202003271706.02RH6OnN062121@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: markj
Date: Fri Mar 27 17:06:24 2020
New Revision: 359370
URL: https://svnweb.freebsd.org/changeset/base/359370

Log:
  MFC r359172-r359176:
  elftoolchain coverity fixes

Modified:
  stable/12/contrib/elftoolchain/libdwarf/libdwarf_die.c
  stable/12/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c
  stable/12/contrib/elftoolchain/libpe/pe_symtab.c
  stable/12/contrib/elftoolchain/readelf/readelf.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/contrib/elftoolchain/libdwarf/libdwarf_die.c
==============================================================================
--- stable/12/contrib/elftoolchain/libdwarf/libdwarf_die.c	Fri Mar 27 17:04:46 2020	(r359369)
+++ stable/12/contrib/elftoolchain/libdwarf/libdwarf_die.c	Fri Mar 27 17:06:24 2020	(r359370)
@@ -70,8 +70,7 @@ _dwarf_die_add(Dwarf_CU cu, uint64_t offset, uint64_t 
 	die->die_cu	= cu;
 	die->die_dbg	= cu->cu_dbg;
 
-	if (diep != NULL)
-		*diep = die;
+	*diep = die;
 
 	return (DW_DLE_NONE);
 }

Modified: stable/12/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c
==============================================================================
--- stable/12/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c	Fri Mar 27 17:04:46 2020	(r359369)
+++ stable/12/contrib/elftoolchain/libelftc/libelftc_dem_gnu3.c	Fri Mar 27 17:06:24 2020	(r359370)
@@ -2912,7 +2912,7 @@ again:
 		if (len <= 0)
 			goto clean;
 		if (!vector_str_push(&v.ext_name, ddata->cur, len))
-			return (0);
+			goto clean;
 		ddata->cur += len;
 		if (!vector_type_qualifier_push(&v, TYPE_EXT))
 			goto clean;

Modified: stable/12/contrib/elftoolchain/libpe/pe_symtab.c
==============================================================================
--- stable/12/contrib/elftoolchain/libpe/pe_symtab.c	Fri Mar 27 17:04:46 2020	(r359369)
+++ stable/12/contrib/elftoolchain/libpe/pe_symtab.c	Fri Mar 27 17:06:24 2020	(r359370)
@@ -33,7 +33,7 @@ ELFTC_VCSID("$Id: pe_symtab.c 3312 2016-01-10 09:23:51
 int
 pe_update_symtab(PE *pe, char *symtab, size_t sz, unsigned int nsym)
 {
-	PE_Scn *ps;
+	PE_Scn *ps, *pstmp;
 	PE_SecBuf *sb;
 	PE_SecHdr *sh;
 
@@ -48,7 +48,7 @@ pe_update_symtab(PE *pe, char *symtab, size_t sz, unsi
 	}
 
 	/* Remove the old symbol table. */
-	STAILQ_FOREACH(ps, &pe->pe_scn, ps_next) {
+	STAILQ_FOREACH_SAFE(ps, &pe->pe_scn, ps_next, pstmp) {
 		if (ps->ps_ndx == 0xFFFFFFFFU)
 			libpe_release_scn(ps);
 	}

Modified: stable/12/contrib/elftoolchain/readelf/readelf.c
==============================================================================
--- stable/12/contrib/elftoolchain/readelf/readelf.c	Fri Mar 27 17:04:46 2020	(r359369)
+++ stable/12/contrib/elftoolchain/readelf/readelf.c	Fri Mar 27 17:06:24 2020	(r359370)
@@ -5915,6 +5915,7 @@ dump_dwarf_frame_regtable(struct readelf *re, Dwarf_Fd
 	for (; cur_pc < end_pc; cur_pc++) {
 		if (dwarf_get_fde_info_for_all_regs(fde, cur_pc, &rt, &row_pc,
 		    &de) != DW_DLV_OK) {
+			free(vec);
 			warnx("dwarf_get_fde_info_for_all_regs failed: %s\n",
 			    dwarf_errmsg(de));
 			return (-1);
@@ -7088,6 +7089,7 @@ dump_ar(struct readelf *re, int fd)
 				}
 				printf("Binary %s(%s) contains:\n",
 				    re->filename, arhdr->ar_name);
+				elf_end(e);
 			}
 			printf("\t%s\n", arsym[i].as_name);
 		}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202003271706.02RH6OnN062121>