From c80852a0c6ca3dd43b90f6b5e71c0347ac670447 Mon Sep 17 00:00:00 2001 From: Monika Eve Cervantes Date: Sun, 19 Oct 2025 22:34:05 -0600 Subject: [PATCH] Fixed server crashing upon receiving an invalid payload. Checks to make sure that args and cmd exists in websocket.js and wraps JSON.parse() in a try-catch in ipc.js --- src/transports/ipc.js | 7 ++++++- src/transports/websocket.js | 8 ++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/transports/ipc.js b/src/transports/ipc.js index 91d1eb2..10f3928 100644 --- a/src/transports/ipc.js +++ b/src/transports/ipc.js @@ -246,6 +246,11 @@ export default class IPCServer { onMessage(socket, msg) { if (process.env.ARRPC_DEBUG) log('message', msg); - this.handlers.message(socket, msg); + if (!msg.args || !msg.cmd) { + log("Invaild payload!") + return + } else { + this.handlers.message(socket, msg); + } } } diff --git a/src/transports/websocket.js b/src/transports/websocket.js index bdd0c36..7f8f57e 100644 --- a/src/transports/websocket.js +++ b/src/transports/websocket.js @@ -115,7 +115,11 @@ export default class WSServer { } onMessage(socket, msg) { - if (process.env.ARRPC_DEBUG) log('message', JSON.parse(msg)); - this.handlers.message(socket, JSON.parse(msg)); + try { + if (process.env.ARRPC_DEBUG) log('message', JSON.parse(msg)); + this.handlers.message(socket, JSON.parse(msg)); + } catch { + log("Invalid Payload!") + } } }