From: Arvin Schnell Date: Tue, 9 Aug 2011 13:04:24 +0000 (+0200) Subject: - check input X-Git-Tag: v0.1.3~306 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=badad923464487fb9ad99590201baf95be9ee659;p=thirdparty%2Fsnapper.git - check input --- diff --git a/tools/snapper.cc b/tools/snapper.cc index 8169cb7a..b790154e 100644 --- a/tools/snapper.cc +++ b/tools/snapper.cc @@ -173,9 +173,15 @@ readNum(const string& str) { Snapshots& snapshots = sh->getSnapshots(); + istringstream s(str); unsigned int num = 0; - if (str != "current") - str >> num; + s >> num; + + if (s.fail() || !s.eof()) + { + cerr << sformat(_("Invalid snapshot '%s'."), str.c_str()) << endl; + exit(EXIT_FAILURE); + } Snapshots::iterator snap = snapshots.find(num); if (snap == snapshots.end())