Menu

#2315 amfnd: invalid read in compdb.cc

future
unassigned
nobody
None
defect
amf
nd
major
2017-02-21
2017-02-21
Gary Lee
No

==500== Thread 1:
==500== Invalid read of size 8
==500== at 0x1939DD: avnd_comptype_delete(amf_comp_type) (compdb.cc:751)
==500== by 0x196534: avnd_comptype_create(unsigned long long, std::string const&) (compdb.cc:948)
==500== by 0x197E6B: comp_init(avnd_comp_tag
, SaImmAttrValuesT_2 const) (compdb.cc:1226)
==500== by 0x1995BC: avnd_comp_create(std::string const&, SaImmAttrValuesT_2 const
, avnd_su_tag) (compdb.cc:1422)
==500== by 0x19A347: avnd_comp_config_get_su(avnd_su_tag
) (compdb.cc:1558)
==500== by 0x1DF9B6: avnd_evt_avd_reg_su_evh(avnd_cb_tag, avnd_evt_tag) (su.cc:161)
==500== by 0x1C0DBC: avnd_evt_process(avnd_evt_tag*) (main.cc:667)
==500== by 0x1C098E: avnd_main_process() (main.cc:618)
==500== by 0x1BE7DD: main (main.cc:206)
==500== Address 0x0 is not stack'd, malloc'd or (recently) free'd

Possible fix:

diff --git a/src/amf/amfnd/compdb.cc b/src/amf/amfnd/compdb.cc
--- a/src/amf/amfnd/compdb.cc
+++ b/src/amf/amfnd/compdb.cc
@@ -852,6 +852,7 @@ static amf_comp_type_t *avnd_comptype_cr
        compt->saAmfCtDefInstantiateCmdArgv[i] = StrDup(str);
        osafassert(compt->saAmfCtDefInstantiateCmdArgv[i]);
    }
+   compt->saAmfCtDefInstantiateCmdArgv[i] = nullptr;

    if (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCtDefInstantiationLevel"), attributes, 0, &compt->saAmfCtDefInstantiationLevel) != SA_AIS_OK)
        compt->saAmfCtDefInstantiationLevel = 0;

Discussion

  • Gary Lee

    Gary Lee - 2017-02-21
    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -14,7 +14,7 @@
    
     Possible fix:
    
    -'''
    +```
     diff --git a/src/amf/amfnd/compdb.cc b/src/amf/amfnd/compdb.cc
     --- a/src/amf/amfnd/compdb.cc
     +++ b/src/amf/amfnd/compdb.cc
    @@ -26,4 +26,4 @@
    
        if (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfCtDefInstantiationLevel"), attributes, 0, &compt->saAmfCtDefInstantiationLevel) != SA_AIS_OK)
            compt->saAmfCtDefInstantiationLevel = 0;
    -'''
    +```
    
     
  • Anders Widell

    Anders Widell - 2017-04-03
    • Milestone: 5.0.2 --> future
     

Log in to post a comment.