Changeset 18833 for trunk/FACT++


Ignore:
Timestamp:
04/14/17 20:58:01 (8 years ago)
Author:
tbretz
Message:
Secured Tools::Split against exceptions from boost::tokenize
Location:
trunk/FACT++/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/FACT++/src/InterpreterV8.cc

    r18828 r18833  
    16961696
    16971697    string irq = p==string::npos?str:str.substr(0, p);
    1698     const map<string,string> data = Tools::Split(irq, true);
     1698
     1699    map<string,string> data;
     1700    try
     1701    {
     1702        data = Tools::Split(irq, true);
     1703    }
     1704    catch (const exception &e)
     1705    {
     1706        irq = "ERROR";
     1707        data["0"] = e.what();
     1708        JsWarn("Couldn't parse interrupt: "+irq+" ["+string(e.what())+"]");
     1709    }
    16991710
    17001711    Local<Value>  irq_str = String::New(irq.c_str());
  • trunk/FACT++/src/Readline.cc

    r17344 r18833  
    13701370void Readline::ProcessLine(const string &str)
    13711371{
    1372     const string cmd = Tools::Uncomment(str);
    1373 
    1374     if (!cmd.empty())
    1375     {
    1376         const bool rc = PreProcess(cmd);
    1377 
    1378         AddToHistory(cmd);
    1379 
    1380         if (rc)
    1381             return;
    1382 
    1383         fLine++;
    1384     }
    1385 
    1386     fCommandLog << str << endl;
     1372    try
     1373    {
     1374        const string cmd = Tools::Uncomment(str);
     1375
     1376        if (!cmd.empty())
     1377        {
     1378            const bool rc = PreProcess(cmd);
     1379
     1380            AddToHistory(cmd);
     1381
     1382            if (rc)
     1383                return;
     1384
     1385            fLine++;
     1386        }
     1387
     1388        fCommandLog << str << endl;
     1389    }
     1390    catch (const exception &e)
     1391    {
     1392        PrintReadlineError("Couldn't parse: "+str+" ["+string(e.what())+"]");
     1393    }
    13871394}
    13881395
Note: See TracChangeset for help on using the changeset viewer.