https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r51205 | russell | 2007-01-17 17:31:11 -0600 (Wed, 17 Jan 2007) | 5 lines
Fix some instances where when loading func_odbc, a double-free could occur.
Also, remove an unneeded error message. If the failure condition is
actually a memory allocation failure, a log message will already be
generated automatically.
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@51207
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
if (!ast_strlen_zero((*query)->sql_read) && ast_strlen_zero((*query)->readhandle[0])) {
free(*query);
+ *query = NULL;
ast_log(LOG_ERROR, "There is SQL, but no ODBC class to be used for reading: %s\n", catg);
return EINVAL;
}
if (!ast_strlen_zero((*query)->sql_write) && ast_strlen_zero((*query)->writehandle[0])) {
free(*query);
+ *query = NULL;
ast_log(LOG_ERROR, "There is SQL, but no ODBC class to be used for writing: %s\n", catg);
return EINVAL;
}
(*query)->acf = ast_calloc(1, sizeof(struct ast_custom_function));
if (! (*query)->acf) {
free(*query);
+ *query = NULL;
return ENOMEM;
}
if (!((*query)->acf->name)) {
free((*query)->acf);
free(*query);
+ *query = NULL;
return ENOMEM;
}
free((char *)(*query)->acf->name);
free((*query)->acf);
free(*query);
+ *query = NULL;
return ENOMEM;
}
free((char *)(*query)->acf->name);
free((*query)->acf);
free(*query);
+ *query = NULL;
return ENOMEM;
}