Code

frontend/grammar: Fixed parsing of 'attribute[<string>]'.
[sysdb.git] / src / frontend / grammar.y
index cc0d5b94d475d6ccce027aab7e3601e957ecdc1a..78b45d295a1585fe93dfa9e1bb0e9b3bdd504879 100644 (file)
@@ -528,6 +528,15 @@ expression:
        |
        IDENTIFIER '[' STRING ']'
                {
+                       if (strcasecmp($1, "attribute")) {
+                               char errmsg[strlen($1) + strlen($3) + 32];
+                               snprintf(errmsg, sizeof(errmsg),
+                                               YY_("unknown value %s[%s]"), $1, $3);
+                               sdb_fe_yyerror(&yylloc, scanner, errmsg);
+                               free($1); $1 = NULL;
+                               free($3); $3 = NULL;
+                               YYABORT;
+                       }
                        $$ = sdb_store_expr_attrvalue($3);
                        free($1); $1 = NULL;
                        free($3); $3 = NULL;