rem: goto error;
add: goto error1;
context: struct s_table* init_hash_table(){	struct s_table*  hash_table;	int              i;	/*allocs the table*/	hash_table = (struct s_table*)shm_malloc( sizeof( struct s_table ) );	if ( !hash_table )		goto error;	memset( hash_table, 0, sizeof (struct s_table ) );	/* try first allocating all the structures needed for syncing */	if (lock_initialize()==-1)		goto error;	/* inits the entrys */	for(  i=0 ; i<TABLE_ENTRIES; i++ )	{		init_entry_lock( hash_table , (hash_table->entrys)+i );		hash_table->entrys[i].next_label = rand();	}	/* inits the timers*/	for(  i=0 ; i<NR_OF_TIMER_LISTS ; i++ )		init_timer_list( hash_table, i );	return  hash_table;error:	free_hash_table( hash_table );	lock_cleanup();	return 0;}