This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] GOLD/DWP: avoid segmentation fault for binaries without debug fission


If run dwp command on a binary built without debug fission, it will
cause segmentation
fault. This patch fixes that by exit early if no DWO files information
found inside the
input binary.

    gold/
    * dwp.cc: (main): exit early when no DWO files information found
in the input binary.

diff --git a/gold/dwp.cc b/gold/dwp.cc
index d8c39c6..c26f969 100644
--- a/gold/dwp.cc
+++ b/gold/dwp.cc
@@ -2436,6 +2436,11 @@ main(int argc, char** argv)
       return ok ? EXIT_SUCCESS : EXIT_FAILURE;
     }

+  // If there is no DWO files information found in the input binary,
+  // return early to avoid segmentation fault.
+  if (files.size() == 0)
+    return EXIT_SUCCESS;
+
   // Process each file, adding its contents to the output file.
   Dwp_output_file output_file(output_filename.c_str());
   for (File_list::const_iterator f = files.begin(); f != files.end(); ++f)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]