diff --git a/src/modules/db_text/dbt_file.c b/src/modules/db_text/dbt_file.c index 6480210ebce..ec74c298bdd 100644 --- a/src/modules/db_text/dbt_file.c +++ b/src/modules/db_text/dbt_file.c @@ -94,28 +94,22 @@ dbt_table_p dbt_load_file(const str *tbn, const str *dbn) enum {DBT_FLINE_ST, DBT_NLINE_ST, DBT_DATA_ST} state; - if(!tbn || !tbn->s || tbn->len<=0 || tbn->len>=255) + if(!tbn || !tbn->s || tbn->len<=0 || tbn->len>=255) { + LM_ERR("invalid table name\n"); return NULL; + } + if(!dbn || !dbn->s || dbn->len<=0 || dbn->len>=255) { + LM_ERR("invalid database name\n"); + return NULL; + } LM_DBG("request for table [%.*s] (len: %d)\n", tbn->len, tbn->s, tbn->len); + LM_DBG("database is [%.*s] (len: %d)\n", dbn->len, dbn->s, dbn->len); - path[0] = 0; - if(dbn && dbn->s && dbn->len>0) - { - LM_DBG("db is [%.*s] (len: %d)\n", dbn->len, dbn->s, dbn->len); - if(dbn->len+tbn->len<511) - { - strncpy(path, dbn->s, dbn->len); - path[dbn->len] = '/'; - strncpy(path+dbn->len+1, tbn->s, tbn->len); - path[dbn->len+tbn->len+1] = 0; - } - } - if(path[0] == 0) - { - strncpy(path, tbn->s, tbn->len); - path[tbn->len] = 0; - } + strncpy(path, dbn->s, dbn->len); + path[dbn->len] = '/'; + strncpy(path+dbn->len+1, tbn->s, tbn->len); + path[dbn->len+tbn->len+1] = 0; LM_DBG("loading file [%s]\n", path); fin = fopen(path, "rt");