- break;
-
- /* If not used, it will be cleaned latter */
- snprintf(_lxml->err, 128, "XML_ERR: Memory error");
-
- var = (char**)realloc(var,(s+1)*sizeof(char *));
- if(var == NULL)
- return (-1);
-
- var[s] = strdup(_lxml->ct[j]);
- if(var[s] == NULL)
- return(-1);
-
- /* Cleaning the lxml->err */
+ {
+ snprintf(_lxml->err, XML_ERR_LENGTH, "XMLERR: Invalid variable content.");
+ _lxml->err_line = _lxml->ln[j];
+ goto fail;
+ }
+ else if(strlen(_lxml->ct[j]) >= XML_VARIABLE_MAXSIZE)
+ {
+ snprintf(_lxml->err, XML_ERR_LENGTH, "XMLERR: Invalid variable name size.");
+ _lxml->err_line = _lxml->ln[j];
+ goto fail;
+ }
+
+ /* If not used, it will be cleaned latter */
+ snprintf(_lxml->err, XML_ERR_LENGTH, "XMLERR: Memory error.");
+
+ tmp = (char**)realloc(var,(s+1)*sizeof(char *));
+ if(tmp == NULL)
+ goto fail;
+ var = tmp;
+
+ var[s] = _lxml->ct[j];
+
+ /* Cleaning the lxml->err */