diff -Naupr asterisk-1.0-RC2.orig/cdr/cdr_pgsql.c asterisk-1.0-RC2/cdr/cdr_pgsql.c --- asterisk-1.0-RC2.orig/cdr/cdr_pgsql.c 2004-07-28 20:42:35.000000000 +0200 +++ asterisk-1.0-RC2/cdr/cdr_pgsql.c 2004-08-26 12:49:09.858528016 +0200 @@ -197,6 +197,7 @@ static int my_load_module(void) var = ast_variable_browse(cfg, "global"); if (!var) { /* nothing configured */ + ast_destroy(cfg); return 0; } @@ -209,6 +210,7 @@ static int my_load_module(void) strncpy(pghostname, tmp, strlen(tmp)); } else { ast_log(LOG_ERROR,"Out of memory error.\n"); + ast_destroy(cfg); return -1; } } else { @@ -225,6 +227,7 @@ static int my_load_module(void) strncpy(pgdbname, tmp, strlen(tmp)); } else { ast_log(LOG_ERROR,"Out of memory error.\n"); + ast_destroy(cfg); return -1; } } else { @@ -241,6 +244,7 @@ static int my_load_module(void) strncpy(pgdbuser, tmp, strlen(tmp)); } else { ast_log(LOG_ERROR,"Out of memory error.\n"); + ast_destroy(cfg); return -1; } } else { @@ -257,6 +261,7 @@ static int my_load_module(void) strncpy(pgpassword, tmp, strlen(tmp)); } else { ast_log(LOG_ERROR,"Out of memory error.\n"); + ast_destroy(cfg); return -1; } } else { @@ -273,6 +278,7 @@ static int my_load_module(void) strncpy(pgdbport, tmp, strlen(tmp)); } else { ast_log(LOG_ERROR,"Out of memory error.\n"); + ast_destroy(cfg); return -1; } } else {