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