Remaining rgagnon source audit improvements (bug #2011)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2004-07-14 07:44:19 +00:00
parent 872685d088
commit 8ed49644a6
9 changed files with 169 additions and 135 deletions

11
file.c
View File

@@ -279,14 +279,17 @@ static int copy(char *infile, char *outfile)
static char *build_filename(char *filename, char *ext)
{
char *fn;
int fnsize = 0;
char tmp[AST_CONFIG_MAX_PATH]="";
snprintf(tmp,sizeof(tmp)-1,"%s/%s",(char *)ast_config_AST_VAR_DIR,"sounds");
fn = malloc(strlen(tmp) + strlen(filename) + strlen(ext) + 10);
snprintf(tmp, sizeof(tmp), "%s/%s", ast_config_AST_VAR_DIR, "sounds");
fnsize = strlen(tmp) + strlen(filename) + strlen(ext) + 10;
fn = malloc(fnsize);
if (fn) {
if (filename[0] == '/')
sprintf(fn, "%s.%s", filename, ext);
snprintf(fn, fnsize, "%s.%s", filename, ext);
else
sprintf(fn, "%s/%s.%s", (char *)tmp, filename, ext);
snprintf(fn, fnsize, "%s/%s.%s", tmp, filename, ext);
}
return fn;