memset(h, 0, sizeof(*h));  
static int emc_create(struct hw_handler *hwh, unsigned argc, char **argv){	struct emc_handler *h;	unsigned hr, short_trespass;	if (argc == 0) {		/* No arguments: use defaults */		hr = 0;		short_trespass = 0;	} else if (argc != 2) {		DMWARN("dm-emc hwhandler: incorrect number of arguments");		return -EINVAL;	} else {		if ((sscanf(argv[0], "%u", &short_trespass) != 1)			|| (short_trespass > 1)) {			DMWARN("dm-emc: invalid trespass mode selected");			return -EINVAL;		}		if ((sscanf(argv[1], "%u", &hr) != 1)			|| (hr > 1)) {			DMWARN("dm-emc: invalid honor reservation flag selected");			return -EINVAL;		}	}	h = alloc_emc_handler();	if (!h)		return -ENOMEM;	memset(h, 0, sizeof(*h));	hwh->context = h;	if ((h->short_trespass = short_trespass))		DMWARN("dm-emc: short trespass command will be send");	else		DMWARN("dm-emc: long trespass command will be send");	if ((h->hr = hr))		DMWARN("dm-emc: honor reservation bit will be set");	else		DMWARN("dm-emc: honor reservation bit will not be set (default)");	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/f1daa40b638891a62e1be40f78d752c500265362/dm-emc.c/buggy/drivers/md/dm-emc.c