Fix crash in NamedPipeCommands.cpp caused by stack-buffer-underflow (#36465)
* Fix stack-buffer-underflow in NamedPipeCommands.cpp
* Update NamedPipeCommands.cpp
diff --git a/examples/platform/linux/NamedPipeCommands.cpp b/examples/platform/linux/NamedPipeCommands.cpp
index c77165e..e07ea24 100644
--- a/examples/platform/linux/NamedPipeCommands.cpp
+++ b/examples/platform/linux/NamedPipeCommands.cpp
@@ -81,12 +81,15 @@
break;
}
- ssize_t readBytes = read(fd, readbuf, kChipEventCmdBufSize);
- readbuf[readBytes - 1] = '\0';
- ChipLogProgress(NotSpecified, "Received payload: \"%s\"", readbuf);
+ ssize_t readBytes = read(fd, readbuf, kChipEventCmdBufSize);
+ if (readBytes > 0)
+ {
+ readbuf[readBytes - 1] = '\0';
+ ChipLogProgress(NotSpecified, "Received payload: \"%s\"", readbuf);
- // Process the received command request from event fifo
- self->mDelegate->OnEventCommandReceived(readbuf);
+ // Process the received command request from event fifo
+ self->mDelegate->OnEventCommandReceived(readbuf);
+ }
close(fd);
}