main/strings: Fix uninitialized value.
authorCorey Farrell <git@cfware.com>
Fri, 6 Oct 2017 01:23:31 +0000 (21:23 -0400)
committerCorey Farrell <git@cfware.com>
Fri, 6 Oct 2017 01:23:31 +0000 (21:23 -0400)
ast_strings_match uses sscanf and checks for non-zero return to verify a
token was parsed. This is incorrect as sscanf returns EOF (-1) for errors.

ASTERISK-27318 #close

Change-Id: Ifcece92605f58116eff24c5a0a3b0ee08b3c87b1

main/strings.c

index 3207fa1..82e315a 100644 (file)
@@ -312,7 +312,7 @@ regex:
        }
 
 equals:
-       scan_numeric = (sscanf(left, "%lf", &left_num) && sscanf(internal_right, "%lf", &right_num));
+       scan_numeric = (sscanf(left, "%lf", &left_num) > 0 && sscanf(internal_right, "%lf", &right_num) > 0);
 
        if (internal_op[0] == '=') {
                if (ast_strlen_zero(left) && ast_strlen_zero(internal_right)) {