diff -r d5141123a5af -r c1f305e339c6 master/master.c --- a/master/master.c Tue Apr 25 11:37:05 2006 +0000 +++ b/master/master.c Tue Apr 25 11:39:33 2006 +0000 @@ -574,7 +574,10 @@ goto out_free; } - ec_eoe_init(eoe, slave); + if (ec_eoe_init(eoe, slave)) { + kfree(eoe); + goto out_free; + } list_add_tail(&eoe->list, &master->eoe_slaves); } }