diff --git a/main/logger.c b/main/logger.c index b014e11970..07c3467324 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 @@ -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); }