Author: markj
Date: Tue Feb 11 05:14:36 2020
New Revision: 357754
URL: https://svnweb.freebsd.org/changeset/base/357754

Log:
  MFC r357531, r357532, r357533, r357534:
  libdwarf: Coverity fixups.

Modified:
  stable/12/contrib/elftoolchain/libdwarf/dwarf_pro_attr.c
  stable/12/contrib/elftoolchain/libdwarf/dwarf_pro_expr.c
  stable/12/contrib/elftoolchain/libdwarf/libdwarf_abbrev.c
  stable/12/contrib/elftoolchain/libdwarf/libdwarf_frame.c
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/contrib/elftoolchain/libdwarf/dwarf_pro_attr.c
==============================================================================
--- stable/12/contrib/elftoolchain/libdwarf/dwarf_pro_attr.c    Tue Feb 11 
05:13:35 2020        (r357753)
+++ stable/12/contrib/elftoolchain/libdwarf/dwarf_pro_attr.c    Tue Feb 11 
05:14:36 2020        (r357754)
@@ -46,8 +46,10 @@ dwarf_add_AT_location_expr(Dwarf_P_Debug dbg, Dwarf_P_
        at->at_attrib = attr;
        at->at_expr = loc_expr;
 
-       if (_dwarf_expr_into_block(loc_expr, error) != DW_DLE_NONE)
+       if (_dwarf_expr_into_block(loc_expr, error) != DW_DLE_NONE) {
+               free(at);
                return (DW_DLV_BADADDR);
+       }
        at->u[0].u64 = loc_expr->pe_length;
        at->u[1].u8p = loc_expr->pe_block;
        if (loc_expr->pe_length <= UCHAR_MAX)

Modified: stable/12/contrib/elftoolchain/libdwarf/dwarf_pro_expr.c
==============================================================================
--- stable/12/contrib/elftoolchain/libdwarf/dwarf_pro_expr.c    Tue Feb 11 
05:13:35 2020        (r357753)
+++ stable/12/contrib/elftoolchain/libdwarf/dwarf_pro_expr.c    Tue Feb 11 
05:14:36 2020        (r357754)
@@ -36,10 +36,10 @@ _dwarf_add_expr(Dwarf_P_Expr expr, Dwarf_Small opcode,
        Dwarf_Debug dbg;
        int len;
 
-       dbg = expr != NULL ? expr->pe_dbg : NULL;
+       dbg = expr->pe_dbg;
 
-       if (_dwarf_loc_expr_add_atom(expr->pe_dbg, NULL, NULL, opcode, val1,
-           val2, &len, error) != DW_DLE_NONE)
+       if (_dwarf_loc_expr_add_atom(dbg, NULL, NULL, opcode, val1, val2, &len,
+           error) != DW_DLE_NONE)
                return (NULL);
        assert(len > 0);
 
@@ -67,7 +67,7 @@ _dwarf_expr_into_block(Dwarf_P_Expr expr, Dwarf_Error 
        Dwarf_Debug dbg;
        int len, pos, ret;
 
-       dbg = expr != NULL ? expr->pe_dbg : NULL;
+       dbg = expr->pe_dbg;
 
        if (expr->pe_block != NULL) {
                free(expr->pe_block);
@@ -88,7 +88,7 @@ _dwarf_expr_into_block(Dwarf_P_Expr expr, Dwarf_Error 
        pos = 0;
        STAILQ_FOREACH(ee, &expr->pe_eelist, ee_next) {
                assert((Dwarf_Unsigned) pos < expr->pe_length);
-               ret = _dwarf_loc_expr_add_atom(expr->pe_dbg,
+               ret = _dwarf_loc_expr_add_atom(dbg,
                    &expr->pe_block[pos], &expr->pe_block[expr->pe_length],
                    ee->ee_loc.lr_atom, ee->ee_loc.lr_number,
                    ee->ee_loc.lr_number2, &len, error);

Modified: stable/12/contrib/elftoolchain/libdwarf/libdwarf_abbrev.c
==============================================================================
--- stable/12/contrib/elftoolchain/libdwarf/libdwarf_abbrev.c   Tue Feb 11 
05:13:35 2020        (r357753)
+++ stable/12/contrib/elftoolchain/libdwarf/libdwarf_abbrev.c   Tue Feb 11 
05:14:36 2020        (r357754)
@@ -59,9 +59,7 @@ _dwarf_abbrev_add(Dwarf_CU cu, uint64_t entry, uint64_
                HASH_ADD(ab_hh, cu->cu_abbrev_hash, ab_entry,
                    sizeof(ab->ab_entry), ab);
 
-       if (abp != NULL)
-               *abp = ab;
-
+       *abp = ab;
        return (DW_DLE_NONE);
 }
 

Modified: stable/12/contrib/elftoolchain/libdwarf/libdwarf_frame.c
==============================================================================
--- stable/12/contrib/elftoolchain/libdwarf/libdwarf_frame.c    Tue Feb 11 
05:13:35 2020        (r357753)
+++ stable/12/contrib/elftoolchain/libdwarf/libdwarf_frame.c    Tue Feb 11 
05:14:36 2020        (r357754)
@@ -468,9 +468,9 @@ _dwarf_frame_section_init(Dwarf_Debug dbg, Dwarf_Frame
 
                if (length > ds->ds_size - offset ||
                    (length == 0 && !eh_frame)) {
-                       DWARF_SET_ERROR(dbg, error,
-                           DW_DLE_DEBUG_FRAME_LENGTH_BAD);
-                       return (DW_DLE_DEBUG_FRAME_LENGTH_BAD);
+                       ret = DW_DLE_DEBUG_FRAME_LENGTH_BAD;
+                       DWARF_SET_ERROR(dbg, error, ret);
+                       goto fail_cleanup;
                }
 
                /* Check terminator for .eh_frame */
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to