The issue turns up if _fr_syserror_buffer() returns NULL.
* Grab our thread local buffer
*/
buffer = _fr_syserror_buffer();
+ if (!buffer) goto error;
p = buffer;
end = p + FR_SYSERROR_BUFSIZE;
* Grab our thread local buffer
*/
buffer = _fr_syserror_buffer();
- if (_fr_syserror(num, buffer, FR_SYSERROR_BUFSIZE) < 0) return "Failed retrieving error";
+ if (!buffer || (_fr_syserror(num, buffer, FR_SYSERROR_BUFSIZE) < 0)) return "Failed retrieving error";
return buffer;
}