From c7ae61df9330844b75e9211828102ddd64706af4 Mon Sep 17 00:00:00 2001 From: undefined Date: Fri, 29 Mar 2024 16:43:46 +0800 Subject: [PATCH] core: ws: handle json parse error --- packages/hydrooj/src/service/server.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/hydrooj/src/service/server.ts b/packages/hydrooj/src/service/server.ts index 81760b6d4..fe05cebc5 100644 --- a/packages/hydrooj/src/service/server.ts +++ b/packages/hydrooj/src/service/server.ts @@ -459,7 +459,17 @@ export function Connection( conn.send('pong'); return; } - h.message?.(JSON.parse(e.data.toString())); + let payload; + try { + payload = JSON.parse(e.data.toString()); + } catch { + conn.close(); + } + try { + h.message?.(payload); + } catch (err) { + logger.error(e); + } }; await bus.parallel('connection/active', h); if (conn.readyState === conn.OPEN) {