diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/DWARFFunction.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/DWARFFunction.java index 5471fe4791..e701e2d172 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/DWARFFunction.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/DWARFFunction.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -392,6 +392,13 @@ public class DWARFFunction { return false; } + if (currentProgram.getListing().getDefinedDataAt(address) != null) { + getProgram().logWarningAt(address, name.getName(), + "DWARF: unable to create function at location that is marked as data: %s" + .formatted(name.getName())); + return false; + } + // create 1-byte function if one does not exist - primary label will become function names function = currentProgram.getFunctionManager() .createFunction(null, address, new AddressSet(address),