Do not leak the delegate, as suggested by Stippi
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30355 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -34,24 +34,34 @@
|
|||||||
LocalDeviceImpl*
|
LocalDeviceImpl*
|
||||||
LocalDeviceImpl::CreateControllerAccessor(BPath* path)
|
LocalDeviceImpl::CreateControllerAccessor(BPath* path)
|
||||||
{
|
{
|
||||||
HCIDelegate* hd = new (std::nothrow)HCIControllerAccessor(path);
|
HCIDelegate* delegate = new(std::nothrow) HCIControllerAccessor(path);
|
||||||
|
if (delegate == NULL)
|
||||||
if (hd != NULL)
|
|
||||||
return new (std::nothrow)LocalDeviceImpl(hd);
|
|
||||||
else
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
LocalDeviceImpl* device = new(std::nothrow) LocalDeviceImpl(delegate);
|
||||||
|
if (device == NULL) {
|
||||||
|
delete delegate;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
LocalDeviceImpl*
|
LocalDeviceImpl*
|
||||||
LocalDeviceImpl::CreateTransportAccessor(BPath* path)
|
LocalDeviceImpl::CreateTransportAccessor(BPath* path)
|
||||||
{
|
{
|
||||||
HCIDelegate* hd = new (std::nothrow)HCITransportAccessor(path);
|
HCIDelegate* delegate = new(std::nothrow) HCITransportAccessor(path);
|
||||||
|
if (delegate == NULL)
|
||||||
if (hd != NULL)
|
|
||||||
return new (std::nothrow)LocalDeviceImpl(hd);
|
|
||||||
else
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
LocalDeviceImpl* device = new(std::nothrow) LocalDeviceImpl(delegate);
|
||||||
|
if (device == NULL) {
|
||||||
|
delete delegate;
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
return device;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user