NetFSServer: Forward errors and fix use-after-free.
At least right now, the constructor of ServerInfoSender can only fail because of OOM. Signed-off-by: Augustin Cavalier <[email protected]> Fixes #11716. One minor tweak by me from the original patch (change "!sender" to "sender == NULL").
This commit is contained in:
committed by
Augustin Cavalier
parent
4a35186ac2
commit
2201ddd6d0
@@ -1283,9 +1283,15 @@ NetFSServer::_ServerInfoConnectionListener()
|
|||||||
|
|
||||||
// create a server info sender thread
|
// create a server info sender thread
|
||||||
ServerInfoSender* sender = new(std::nothrow) ServerInfoSender(fd, info);
|
ServerInfoSender* sender = new(std::nothrow) ServerInfoSender(fd, info);
|
||||||
if (!sender || sender->Init() != B_OK) {
|
if (sender == NULL) {
|
||||||
closesocket(fd);
|
closesocket(fd);
|
||||||
delete sender;
|
delete sender;
|
||||||
|
return B_NO_MEMORY;
|
||||||
|
}
|
||||||
|
if ((error = sender->Init()) != B_OK) {
|
||||||
|
closesocket(fd);
|
||||||
|
delete sender;
|
||||||
|
return error;
|
||||||
}
|
}
|
||||||
taskManager.RunTask(sender);
|
taskManager.RunTask(sender);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user