diff --git a/desktop/flipper-server/src/startSocketServer.tsx b/desktop/flipper-server/src/startSocketServer.tsx index 4ce0be163..6cd2a102c 100644 --- a/desktop/flipper-server/src/startSocketServer.tsx +++ b/desktop/flipper-server/src/startSocketServer.tsx @@ -65,6 +65,21 @@ export function startSocketServer( case 'exec': { const {id, command, args} = payload; + if (typeof args[Symbol.iterator] !== 'function') { + console.warn( + 'flipperServer -> exec: args argument in payload is not iterable', + ); + const responseError: ExecResponseErrorWebSocketMessage = { + event: 'exec-response-error', + payload: { + id, + data: 'Payload args argument is not an iterable.', + }, + }; + client.send(JSON.stringify(responseError)); + return; + } + flipperServer .exec(command, ...args) .then((result: any) => {