From f5628dd5b36f318b5526b9d45785c178dd442659 Mon Sep 17 00:00:00 2001 From: Daniel Lichtenberger Date: Fri, 1 Sep 2017 20:01:28 +0200 Subject: [PATCH] Fix crash on empty command line arguments --- rtgui/main-cli.cc | 6 ++++-- rtgui/main.cc | 4 +++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/rtgui/main-cli.cc b/rtgui/main-cli.cc index 7908b9133..36ef4ce8b 100644 --- a/rtgui/main-cli.cc +++ b/rtgui/main-cli.cc @@ -285,8 +285,7 @@ bool dontLoadCache ( int argc, char **argv ) #if ECLIPSE_ARGS currParam = currParam.substr (1, currParam.length() - 2); #endif - - if ( currParam.at (0) == '-' && currParam.at (1) == 'q' ) { + if ( currParam.length() > 1 && currParam.at(0) == '-' && currParam.at(1) == 'q' ) { return true; } } @@ -317,6 +316,9 @@ int processLineParams ( int argc, char **argv ) for ( int iArg = 1; iArg < argc; iArg++) { Glib::ustring currParam (argv[iArg]); + if ( currParam.empty() ) { + continue; + } #if ECLIPSE_ARGS currParam = currParam.substr (1, currParam.length() - 2); #endif diff --git a/rtgui/main.cc b/rtgui/main.cc index f133c1e07..3ebd894df 100644 --- a/rtgui/main.cc +++ b/rtgui/main.cc @@ -122,6 +122,9 @@ int processLineParams ( int argc, char **argv ) { for ( int iArg = 1; iArg < argc; iArg++) { Glib::ustring currParam (argv[iArg]); + if ( currParam.empty() ) { + continue; + } #if ECLIPSE_ARGS currParam = currParam.substr (1, currParam.length() - 2); #endif @@ -697,4 +700,3 @@ int main (int argc, char **argv) return ret; } -