Don't try to dereference syms[0] on an empty vector. Reported by Todd Jackson
authorNick Lewycky <nicholas@mxc.ca>
Tue, 26 Jul 2011 08:40:36 +0000 (08:40 +0000)
committerNick Lewycky <nicholas@mxc.ca>
Tue, 26 Jul 2011 08:40:36 +0000 (08:40 +0000)
and Jeffrey Bosboom!

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136066 91177308-0d34-0410-b5e6-96231b3b80d8

tools/gold/gold-plugin.cpp

index 9e43bef31f8e01976f73a6318868de622fb6a64f..8cb4fb4bca4154a40fbc42a49943008d014be374 100644 (file)
@@ -360,6 +360,8 @@ static ld_plugin_status all_symbols_read_hook(void) {
   bool anySymbolsPreserved = false;
   for (std::list<claimed_file>::iterator I = Modules.begin(),
          E = Modules.end(); I != E; ++I) {
+    if (I->syms.empty())
+      continue;
     (*get_symbols)(I->handle, I->syms.size(), &I->syms[0]);
     for (unsigned i = 0, e = I->syms.size(); i != e; i++) {
       if (I->syms[i].resolution == LDPR_PREVAILING_DEF) {