From c91a95cbef89d8ba3676191fa51a1222fce2ea34 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Tue, 28 Jun 2016 20:50:15 -0400 Subject: [PATCH] Make sure `meteor shell` options JSON is parsed separately. Also don't ignore the `error` parameter passed to the readJSONFromStream callback function. Fixes #7312. --- tools/shell-client.js | 2 +- tools/static-assets/server/shell-server.js | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/tools/shell-client.js b/tools/shell-client.js index e59ebc2a52..35071377b5 100644 --- a/tools/shell-client.js +++ b/tools/shell-client.js @@ -134,7 +134,7 @@ Cp.setUpSocket = function setUpSocket(sock, key) { sock.write(JSON.stringify({ terminal: ! process.env.EMACS, key: key - })); + }) + "\n"); process.stderr.write(shellBanner()); process.stdin.pipe(sock); diff --git a/tools/static-assets/server/shell-server.js b/tools/static-assets/server/shell-server.js index ad5044ac19..3e93047ab2 100644 --- a/tools/static-assets/server/shell-server.js +++ b/tools/static-assets/server/shell-server.js @@ -161,6 +161,12 @@ Sp.onConnection = function onConnection(socket) { readJSONFromStream(socket, function (error, options, replInputSocket) { clearTimeout(timeout); + if (error) { + socket = null; + console.error(error.stack); + return; + } + if (options.key !== self.key) { if (socket) { socket.end(EXITING_MESSAGE + "\n");