diff --git a/main/logger.c b/main/logger.c index 8a577ed38dc880f4bde2e3dd38e0204dc664a65f..1be97fc87df2d372ebe034bea7016e50c67bdc6f 100644 --- a/main/logger.c +++ b/main/logger.c @@ -74,6 +74,7 @@ static int syslog_level_map[] = { #include "asterisk/threadstorage.h" #include "asterisk/strings.h" #include "asterisk/pbx.h" +#include "asterisk/app.h" #if defined(__linux__) && !defined(__NR_gettid) #include <asm/unistd.h> @@ -576,8 +577,8 @@ static int rotate_file(const char *filename) char buf[512]; pbx_builtin_setvar_helper(c, "filename", filename); pbx_substitute_variables_helper(c, exec_after_rotate, buf, sizeof(buf)); - if (system(buf) < 0) { - ast_log(LOG_WARNING, "system() failed for '%s': %s\n", buf, strerror(errno)); + if (ast_safe_system(buf) != -1) { + ast_log(LOG_WARNING, "error executing '%s'\n", buf); } ast_channel_free(c); }