]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Don't pass NULL buffer to _fr_syserror() (#4963)
authorJames Jones <jejones3141@gmail.com>
Thu, 20 Apr 2023 14:05:19 +0000 (09:05 -0500)
committerGitHub <noreply@github.com>
Thu, 20 Apr 2023 14:05:19 +0000 (10:05 -0400)
The issue turns up if _fr_syserror_buffer() returns NULL.

src/lib/util/syserror.c

index d5f2686944aa3bcef62da7a7c74a92c6b25a846a..253b4d36a0657a0ba72bb31dea7fd462a637d718 100644 (file)
@@ -260,6 +260,7 @@ char const *fr_syserror(int num)
         *      Grab our thread local buffer
         */
        buffer = _fr_syserror_buffer();
+       if (!buffer) goto error;
 
        p = buffer;
        end = p + FR_SYSERROR_BUFSIZE;
@@ -297,7 +298,7 @@ char const *fr_syserror_simple(int num)
         *      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;
 }