diff --git a/bin/common_range.cc b/bin/common_range.cc index 44121e685ac8bdc68d42a2580f3ac72d34e4f3d3..8909a26c09e1669af9fdc181d1fb04acf48aeac8 100644 --- a/bin/common_range.cc +++ b/bin/common_range.cc @@ -1,6 +1,6 @@ // -*- coding: utf-8 -*- -// Copyright (C) 2012, 2014 Laboratoire de Recherche et Développement de -// l'Epita (LRDE). +// Copyright (C) 2012, 2014, 2016 Laboratoire de Recherche et +// Développement de l'Epita (LRDE). // // This file is part of Spot, a model checking library. // @@ -67,6 +67,9 @@ parse_range(const char* str, int missing_left, int missing_right) // Parse the next integer. char* end2; res.max = strtol(end, &end2, 10); + if (str == end2) + error(1, 0, "invalid range '%s' " + "(should start with digits, dots, or colon)", str); if (end == end2) error(1, 0, "invalid range '%s' (missing end?)", str); if (*end2) diff --git a/tests/core/ltlfilt.test b/tests/core/ltlfilt.test index 31d37265c1b7b5bf13a3411faf7215113c3ba8b2..ac775e57504b51c91546dd9351a65d1482556b1b 100755 --- a/tests/core/ltlfilt.test +++ b/tests/core/ltlfilt.test @@ -344,4 +344,8 @@ test "`cat out`" = 'GF"a\"\\b"' $ltlfilt --lbt-input -f 'G F "a\"\\b"' -l > out test "`cat out`" = 'G F "a\"\\b"' + +$ltlfilt --size=foo=2..3 2>stderr && exit 1 +grep 'invalid range.*should start with' stderr + true