From cae23db7830ecbbe3eb8fa22fd4898472cd2f74d Mon Sep 17 00:00:00 2001
From: Houtan Bastani <houtan.bastani@ens.fr>
Date: Thu, 7 Jun 2012 13:32:57 +0200
Subject: [PATCH] config file: only allow GlobalInitFile option to hooks block,
 one more error check

---
 ConfigFile.cc | 15 ++++++++++++---
 1 file changed, 12 insertions(+), 3 deletions(-)

diff --git a/ConfigFile.cc b/ConfigFile.cc
index 21276dd9..2d0e3499 100644
--- a/ConfigFile.cc
+++ b/ConfigFile.cc
@@ -220,10 +220,19 @@ ConfigFile::getConfigFileInfo(const string &config_file)
           trim(tokenizedLine.back());
 
           if (inHooks)
-            {
-              if (!tokenizedLine.front().compare("GlobalInitFile"))
+            if (!tokenizedLine.front().compare("GlobalInitFile"))
+              if (global_init_file.empty())
                 global_init_file = tokenizedLine.back();
-            }
+              else
+                {
+                  cerr << "ERROR: May not have more than one GlobalInitFile option in [hooks] block." << endl;
+                  exit(EXIT_FAILURE);
+                }
+            else
+              {
+                cerr << "ERROR: Unrecognized option " << tokenizedLine.front() << " in [hooks] block." << endl;
+                exit(EXIT_FAILURE);
+              }
           else
             if (!tokenizedLine.front().compare("Name"))
               name = tokenizedLine.back();
-- 
GitLab