char buf[256];
char dbuf[1024];
+ /* avoid calling escapeJSON() with garbage */
+ memset(dbuf, 0, sizeof(dbuf));
+
rrd_value_t *ptr = data;
if (json == 0) {
}
/* now output it */
if (json) {
- snprintf(buf, sizeof(buf), " \"%s\"", entry);
+ strncpy(dbuf, entry, sizeof(dbuf));
+ dbuf[sizeof(dbuf) - 1] = 0;
+ escapeJSON(dbuf, sizeof(dbuf));
+ snprintf(buf, sizeof(buf), " \"%s\"", dbuf);
addToBuffer(buffer, buf, 0);
if (j < col_cnt - 1) {
addToBuffer(buffer, ",", 1);
entry++;
}
if (json) {
+ strncpy(dbuf, entry, sizeof(dbuf));
+ dbuf[sizeof(dbuf) - 1] = 0;
+ escapeJSON(dbuf, sizeof(dbuf));
snprintf(buf, sizeof(buf), ",\n { \"line\": \"%s\" }",
- entry);
+ dbuf);
} else {
snprintf(buf, sizeof(buf), " <line>%s</line>\n",
entry);