call = (ax25_address *)ax25->ax25_dev->dev->dev_addr; 
ax25->source_addr = *(ax25_address *)ax25->ax25_dev->dev->dev_addr; 
int ax25_rt_autobind(ax25_cb *ax25, ax25_address *addr){	ax25_route *ax25_rt;	ax25_address *call;	int err;	if ((ax25_rt = ax25_get_route(addr, NULL)) == NULL)		return -EHOSTUNREACH;	if ((ax25->ax25_dev = ax25_dev_ax25dev(ax25_rt->dev)) == NULL) {		err = -EHOSTUNREACH;		goto put;	}	if ((call = ax25_findbyuid(current->euid)) == NULL) {		if (ax25_uid_policy && !capable(CAP_NET_BIND_SERVICE)) {			err = -EPERM;			goto put;		}		call = (ax25_address *)ax25->ax25_dev->dev->dev_addr;	}	ax25->source_addr = *call;	if (ax25_rt->digipeat != NULL) {		if ((ax25->digipeat = kmalloc(sizeof(ax25_digi), GFP_ATOMIC)) == NULL) {			err = -ENOMEM;			goto put;		}		memcpy(ax25->digipeat, ax25_rt->digipeat, sizeof(ax25_digi));		ax25_adjust_path(addr, ax25->digipeat);	}	if (ax25->sk != NULL) {		bh_lock_sock(ax25->sk);		sock_reset_flag(ax25->sk, SOCK_ZAPPED);		bh_unlock_sock(ax25->sk);	}put:	ax25_put_route(ax25_rt);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/01d7dd0e9f8c5f1888619d2649c7da389232b408/ax25_route.c/buggy/net/ax25/ax25_route.c