From: Richard Mudgett Date: Wed, 14 Nov 2012 19:50:52 +0000 (+0000) Subject: Fix call files when astspooldir is relative. X-Git-Tag: 10.12.0-rc1~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4404e54734cae9b78643a1929d86deac8950d315;p=thirdparty%2Fasterisk.git Fix call files when astspooldir is relative. Future dated call files are ignored when astspooldir is relative to the current directory. The queue_file() assumed that the qdir needed to be prepended if the given filename did not start with a '/'. If astspooldir is relative it is not going to start from the root directory obviously so it will not start with a '/'. The filename used in queue_file() ultimately results in qdir prepended multiple times. * Made queue_file() not prepend qdir if the filename contains a '/'. (closes issue ASTERISK-20593) Reported by: James Le Cuirot Patches: 0004-Fix-future-call-files-from-relative-directories.patch (license #6439) patch uploaded by James Le Cuirot ........ Merged revisions 376232 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/10@376233 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/pbx/pbx_spool.c b/pbx/pbx_spool.c index 7be1ee5c01..e537d714cf 100644 --- a/pbx/pbx_spool.c +++ b/pbx/pbx_spool.c @@ -500,7 +500,7 @@ static void queue_file(const char *filename, time_t when) int res; time_t now = time(NULL); - if (filename[0] != '/') { + if (!strchr(filename, '/')) { char *fn = ast_alloca(strlen(qdir) + strlen(filename) + 2); sprintf(fn, "%s/%s", qdir, filename); /* SAFE */ filename = fn;