From 87044d37a00fff3a8ded9cd561492874cdfde4b5 Mon Sep 17 00:00:00 2001 From: Tilghman Lesher Date: Sun, 2 Sep 2007 14:37:53 +0000 Subject: [PATCH] We shouldn't use a filename blindly without checking to make sure it's unused first git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@81430 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/config.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/main/config.c b/main/config.c index 7a44685b9e..5889a0358d 100644 --- a/main/config.c +++ b/main/config.c @@ -235,12 +235,14 @@ struct ast_config_include *ast_include_new(struct ast_config *conf, const char * instances is possible, I'd have to create a new master for each instance. */ struct ast_config_include *inc; + struct stat statbuf; inc = ast_include_find(conf, included_file); - if (inc) - { - inc->inclusion_count++; - snprintf(real_included_file_name, real_included_file_name_size, "%s~~%d", included_file, inc->inclusion_count); + if (inc) { + do { + inc->inclusion_count++; + snprintf(real_included_file_name, real_included_file_name_size, "%s~~%d", included_file, inc->inclusion_count); + } while (stat(real_included_file_name, &statbuf) == 0); ast_log(LOG_WARNING,"'%s', line %d: Same File included more than once! This data will be saved in %s if saved back to disk.\n", from_file, from_lineno, real_included_file_name); } else *real_included_file_name = 0;