aboutsummaryrefslogtreecommitdiffstats
path: root/res/res_odbc.c
diff options
context:
space:
mode:
authorcitats <citats@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-23 07:03:01 +0000
committercitats <citats@f38db490-d61c-443f-a65b-d21fe96a405b>2004-10-23 07:03:01 +0000
commit5b9e1b51b200a4b887628516691cae72cc7fd2dc (patch)
tree3190ad4709980190e2ddb8abea52b8162400b66d /res/res_odbc.c
parent541c114058dbf1ce92562c69dfd88044b451c980 (diff)
More memory checks
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4056 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'res/res_odbc.c')
-rwxr-xr-xres/res_odbc.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/res/res_odbc.c b/res/res_odbc.c
index c6f432ada..dde43353f 100755
--- a/res/res_odbc.c
+++ b/res/res_odbc.c
@@ -99,10 +99,12 @@ static int load_odbc_config(void)
if (!strcmp(cat, "ENV")) {
for (v = ast_variable_browse(config, cat); v; v = v->next) {
env_var = malloc(strlen(v->name) + strlen(v->value) + 2);
- sprintf(env_var, "%s=%s", v->name, v->value);
- ast_log(LOG_NOTICE, "Adding ENV var: %s=%s\n", v->name, v->value);
- putenv(env_var);
- free(env_var);
+ if (env_var) {
+ sprintf(env_var, "%s=%s", v->name, v->value);
+ ast_log(LOG_NOTICE, "Adding ENV var: %s=%s\n", v->name, v->value);
+ putenv(env_var);
+ free(env_var);
+ }
}
cat = ast_category_browse(config, cat);
@@ -222,6 +224,8 @@ odbc_obj *new_odbc_obj(char *name, char *dsn, char *username, char *password)
static odbc_obj *new;
new = malloc(sizeof(odbc_obj));
+ if (!new)
+ return NULL;
memset(new, 0, sizeof(odbc_obj));
new->env = SQL_NULL_HANDLE;