diff --git a/cpp/rascsi/rascsi_service.cpp b/cpp/rascsi/rascsi_service.cpp index 483f8274..fdd859f5 100644 --- a/cpp/rascsi/rascsi_service.cpp +++ b/cpp/rascsi/rascsi_service.cpp @@ -123,8 +123,12 @@ PbCommand RascsiService::ReadCommand(CommandContext& context) const // Read magic string vector magic(6); - if (const size_t bytes_read = context.GetSerializer().ReadBytes(fd, magic); - bytes_read != magic.size() || memcmp(magic.data(), "RASCSI", magic.size())) { + const size_t bytes_read = context.GetSerializer().ReadBytes(fd, magic); + if (!bytes_read) { + return command; + } + + if (bytes_read != magic.size() || memcmp(magic.data(), "RASCSI", magic.size())) { throw io_exception("Invalid magic"); }