diff --git a/src/add-ons/kernel/drivers/network/pegasus/driver.c b/src/add-ons/kernel/drivers/network/pegasus/driver.c index a4d534f505..dbe2647a66 100644 --- a/src/add-ons/kernel/drivers/network/pegasus/driver.c +++ b/src/add-ons/kernel/drivers/network/pegasus/driver.c @@ -450,8 +450,10 @@ pegasus_device_open(const char *name, uint32 flags, if ((cookie = malloc (sizeof (driver_cookie))) == NULL) return B_NO_MEMORY; - if ((err = acquire_sem(device->sem_lock)) != B_OK) + if ((err = acquire_sem(device->sem_lock)) != B_OK) { + free(cookie); return err; + } device->nonblocking = (flags & O_NONBLOCK) ? true : false; cookie->device = device;