From 755c79dd4615eaceb335353040672fa42e842b4d Mon Sep 17 00:00:00 2001 From: Lisa Milne Date: Sun, 3 Dec 2023 16:27:33 +1000 Subject: [PATCH] add a file type check to exec() --- clite/core.js | 7 ++++++- clite/shell.js | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/clite/core.js b/clite/core.js index 57e920a..dc126f3 100644 --- a/clite/core.js +++ b/clite/core.js @@ -2253,7 +2253,12 @@ clite.lib = { if (!fd.canexec) { clite.io.close(io.pid,fd); - return -3 + return -3; + } + + if (clite.lib.getFileType(fd) != clite.io.types.FT_BINARY) { + clite.io.close(io.pid,fd); + return -4; } clite.proc.update(args.join(' ')); diff --git a/clite/shell.js b/clite/shell.js index d8322e3..5a8021c 100644 --- a/clite/shell.js +++ b/clite/shell.js @@ -312,7 +312,7 @@ clite.commands.load('sh',function(args,env,io) { io.exit(-1); } - if (r == -3) { + if (r == -3 || r == -4) { stdio.write(io.stderr,'Shell: not an executable file:'+args[0]); io.exit(-3); }