rem: if (!bind_dbmod(db_url)) {
add: if (bind_dbmod(db_url) < 0) {
context: int init_trusted(void){	int ver;	str name;	     /* Check if hash table needs to be loaded from trusted table */	if (!db_url) {		LOG(L_INFO, "db_url parameter of permissions module not set, disabling allow_trusted\n");		return 0;	} else {		if (!bind_dbmod(db_url)) {			LOG(L_ERR, "Load a database support module\n");			return -1;		}	}	hash_table_1 = hash_table_2 = 0;	hash_table = 0;	if (db_mode == ENABLE_CACHE) {		db_handle = db_init(db_url);		if (!db_handle) {			LOG(L_ERR, "init_trusted(): Unable to connect database\n");			return -1;		}		name.s = trusted_table;		name.len = strlen(trusted_table);		ver = table_version(db_handle, &name);		if (ver < 0) {			LOG(L_ERR, "permissions:init_trusted(): Error while querying table version\n");			db_close(db_handle);			return -1;		} else if (ver < TABLE_VERSION) {			LOG(L_ERR, "permissions:init_trusted(): Invalid table version (use ser_mysql.sh reinstall)\n");			db_close(db_handle);			return -1;		}						/* Initialize fifo interface */		(void)init_trusted_fifo();				if (init_trusted_unixsock() < 0) {			LOG(L_ERR, "permissions:init_trusted(): Error while initializing unixsock interface\n");			db_close(db_handle);			return -1;		}		hash_table_1 = new_hash_table();		if (!hash_table_1) return -1;				hash_table_2  = new_hash_table();		if (!hash_table_2) goto error;				hash_table = (struct trusted_list ***)shm_malloc(sizeof(struct trusted_list **));		if (!hash_table) goto error;		*hash_table = hash_table_1;		if (reload_trusted_table() == -1) {			LOG(L_CRIT, "init_trusted(): Reload of trusted table failed\n");			goto error;		}					db_close(db_handle);	}	return 0; error:	if (hash_table_1) free_hash_table(hash_table_1);	if (hash_table_2) free_hash_table(hash_table_2);	if (hash_table) shm_free(hash_table);	return -1;}