logger.c: Fix buffer overrun found by address sanitizer.
authorRichard Mudgett <rmudgett@digium.com>
Fri, 22 Jan 2016 17:48:24 +0000 (11:48 -0600)
committerRichard Mudgett <rmudgett@digium.com>
Fri, 22 Jan 2016 18:35:56 +0000 (12:35 -0600)
The null terminator of the tail struct member was not being allocated
when no logger.conf config file is installed.

ASTERISK-25714 #close
Reported by: Badalian Vyacheslav

Change-Id: I45770fdd08af39506a3bc33ba279c4f16e047a30

main/logger.c

index fac68d9..13f6de8 100644 (file)
@@ -601,7 +601,7 @@ static int init_logger_chain(const char *altconf)
 
        /* If no config file, we're fine, set default options. */
        if (!cfg) {
-               if (!(chan = ast_calloc(1, sizeof(*chan)))) {
+               if (!(chan = ast_calloc(1, sizeof(*chan) + 1))) {
                        fprintf(stderr, "Failed to initialize default logging\n");
                        return -1;
                }