Only try to send the "Exit" message if the `IPCPipeUnixSocket` object exists. If the constructor fails, then `ipc_` might remain nullptr, which would lead to a nullptr dereference in the destructor. This change also modifies the constructor so that only a valid `IPCPipeUnixSocket` object will be saved into the `ipc_` member, which avoids error messages when `IPCPipeUnixSocket::sendAsync()` is callded in the inappropriate state. Bug: https://bugs.libcamera.org/show_bug.cgi?id=276 Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> Reviewed-by: Paul Elder <paul.elder@ideasonboard.com> Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com>