From 94040305d16077e92c3f1b918b2ca87dc993f3c3 Mon Sep 17 00:00:00 2001
From: Zach Mullen <zach.mullen@kitware.com>
Date: Tue, 6 Oct 2009 14:55:48 -0400
Subject: [PATCH] Fix bus error on mac.  Was a result of not having null
 termination of arg list to sw_vers calls.

---
 SystemInformation.cxx | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/SystemInformation.cxx b/SystemInformation.cxx
index 0a02c4c..f3150ea 100644
--- a/SystemInformation.cxx
+++ b/SystemInformation.cxx
@@ -3007,13 +3007,13 @@ kwsys_stl::string SystemInformationImplementation::ParseValueFromKStat(const cha
     if(buffer[i] == ' ' || buffer[i] == '\t')
       {
       break;
-      }   
+      }
     if(buffer[i] != '\n' && buffer[i] != '\r')
       {
       kwsys_stl::string val = value;
       value = buffer[i];
       value += val;
-      }          
+      }
     }
   return value;
 }
@@ -3385,19 +3385,24 @@ void SystemInformationImplementation::CallSwVers()
   kwsys_stl::string output;
   kwsys_stl::vector<const char*> args;
   args.clear();
-  args.push_back("sw_vers");
   
+  args.push_back("sw_vers");
   args.push_back("-productName");
+  args.push_back(0);
   output = this->RunProcess(args);
   this->OSName = output;
-  args.pop_back();
+  args.clear();
 
+  args.push_back("sw_vers");
   args.push_back("-productVersion");
+  args.push_back(0);
   output = this->RunProcess(args);
   this->OSRelease = output;
-  args.pop_back();
+  args.clear();
 
+  args.push_back("sw_vers");
   args.push_back("-buildVersion");
+  args.push_back(0);
   output = this->RunProcess(args);
   this->OSVersion = output;
 #endif
-- 
GitLab