From: Tilghman Lesher Date: Sun, 2 Sep 2007 14:37:53 +0000 (+0000) Subject: We shouldn't use a filename blindly without checking to make sure it's unused first X-Git-Tag: 1.6.0-beta1~3^2~1544 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=87044d37a00fff3a8ded9cd561492874cdfde4b5;p=thirdparty%2Fasterisk.git 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 --- 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;