Merge remote-tracking branch 'origin/patch'

Conflicts:
	Ghidra/Features/Decompiler/src/decompile/cpp/funcdata_varnode.cc
This commit is contained in:
Ryan Kurtz 2022-04-18 11:52:15 -04:00
commit e2ae03d1b9
3 changed files with 12 additions and 7 deletions

View file

@ -1222,11 +1222,10 @@ bool Funcdata::attemptDynamicMapping(SymbolEntry *entry,DynamicHash &dhash)
}
Varnode *vn = dhash.findVarnode(this,entry->getFirstUseAddress(),entry->getHash());
if (vn == (Varnode *)0) return false;
if (vn->getSymbolEntry() != (SymbolEntry *)0) return false; // Varnode is already labeled
if (category == Symbol::equate) { // Is this an equate symbol
if (vn->mapentry != entry) { // Check we haven't marked this before
vn->setSymbolEntry(entry);
return true;
}
vn->setSymbolEntry(entry);
return true;
}
else if (entry->getSize() == vn->getSize()) {
if (vn->setSymbolProperties(entry))
@ -1254,7 +1253,7 @@ bool Funcdata::attemptDynamicMappingLate(SymbolEntry *entry,DynamicHash &dhash)
Varnode *vn = dhash.findVarnode(this,entry->getFirstUseAddress(),entry->getHash());
if (vn == (Varnode *)0)
return false;
if (vn->getSymbolEntry() == entry) return false; // Already applied it
if (vn->getSymbolEntry() != (SymbolEntry *)0) return false; // Symbol already applied
if (sym->getCategory() == Symbol::equate) { // Equate symbol does not depend on size
vn->setSymbolEntry(entry);
return true;