7a68eb7d4da510a798a22fe6cf258f8385c29269
jcasper
  Wed Oct 17 14:31:24 2018 -0700
Fix for rqlParseDump crashing on array nodes, refs #22286

diff --git src/lib/rqlParse.c src/lib/rqlParse.c
index fe4ad9a..c172189 100644
--- src/lib/rqlParse.c
+++ src/lib/rqlParse.c
@@ -314,30 +314,31 @@
 struct rqlParse *collection = rqlParseAtom(tkz);
 struct rqlParse *p = collection;
 char *tok = tokenizerNext(tkz);
 if (tok == NULL)
     tokenizerReuse(tkz);
 else if (tok[0] == '[')
     {
     // struct rqlParse *index = rqlParseExpression(tkz);
     struct rqlParse *index = rqlParseAtom(tkz);
     index = rqlParseCoerce(index, rqlTypeInt);
     skipOverRequired(tkz, "]");
     AllocVar(p);
     p->op = rqlOpArrayIx;
     p->type = rqlTypeString;
     p->children = collection;
+    p->val.s = cloneString("");
     collection->next = index;
     }
 else
     tokenizerReuse(tkz);
 return p;
 }
 
 
 static struct rqlParse *rqlParseUnaryMinus(struct tokenizer *tkz)
 /* Return unary minus sort of parse tree if there's a leading '-' */
 {
 char *tok = tokenizerMustHaveNext(tkz);
 if (tok[0] == '-')
     {
     struct rqlParse *c = rqlParseIndex(tkz);
@@ -971,16 +972,15 @@
 void rqlStatementFree(struct rqlStatement **pRql)
 /* Free up an rql statement. */
 {
 struct rqlStatement *rql = *pRql;
 if (rql != NULL)
     {
     freeMem(rql->command);
     slFreeList(&rql->fieldList);
     slFreeList(&rql->tableList);
     if (rql->whereClause !=NULL)
 	rqlParseFreeRecursive(rql->whereClause);
     slFreeList(&rql->whereVarList);
     freez(pRql);
     }
 }
-