if (!raw) goto out_err;  
if (!raw) goto out_err;  
sti_read_rom(int wordmode, struct sti_struct *sti, unsigned long address){	struct sti_cooked_rom *cooked;	struct sti_rom *raw = NULL;	cooked = kmalloc(sizeof *cooked, GFP_KERNEL);	if (!cooked)		goto out_err;        if (wordmode)                raw = sti_get_wmode_rom (address);        else	        raw = sti_get_bmode_rom (address);        if (!raw)	        goto out_err;    	if (!sti_cook_fonts(cooked, raw)) {		printk(KERN_ERR "No font found for STI at %08lx\n", address);		goto out_err;	}	if (raw->region_list)		memcpy(sti->regions, ((void *)raw)+raw->region_list, sizeof(sti->regions));	address = (unsigned long) STI_PTR(raw);	sti->font_unpmv = address + (raw->font_unpmv & 0x03ffffff);	sti->block_move = address + (raw->block_move & 0x03ffffff);	sti->init_graph = address + (raw->init_graph & 0x03ffffff);	sti->inq_conf   = address + (raw->inq_conf   & 0x03ffffff);	sti->rom = cooked;	sti->rom->raw = raw;		sti->font = sti_select_font(sti->rom, sti_search_font);	sti->font_width = sti->font->raw->width;	sti->font_height = sti->font->raw->height;	if (!wordmode)	        sti->font->raw = sti_bmode_font_raw(sti->font);	sti->sti_mem_request = raw->sti_mem_req;	sti->graphics_id[0] = raw->graphics_id[0];	sti->graphics_id[1] = raw->graphics_id[1];		sti_dump_rom(raw);		return 1;out_err:	kfree(raw);	kfree(cooked);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/951a0150135c46c7791d68e0d1112900d99302d7/sticore.c/buggy/drivers/video/console/sticore.c