cunescape() sets output on success, so initialization is not necessary. There
was no comment, but I think they may have been added because the compiler
wasn't convinced that the return value is non-negative on success. It could
have been confused by the int return type on escape*(), which was changed by
the one of preceeding commits to ssize_t, or by the length calculation, so add
an assert to help the compiler.
For some reason coverity thinks the output can be leaked here (CID #
1458111).
I don't see how.
*t = 0;
+ assert(t >= ans); /* Let static analyzers know that the answer is non-negative. */
*ret = TAKE_PTR(ans);
return t - *ret;
}
return 0;
}
} else {
- char *unescaped = NULL;
+ char *unescaped;
ssize_t l;
/* We support escape codes here, so that users can insert trailing \n if they like */