From 5ca1313e858d8359aa4381122a1b2b8cffeb5322 Mon Sep 17 00:00:00 2001 From: rabbitboots Date: Mon, 28 Feb 2022 16:25:05 -0400 Subject: [PATCH] Add type check to nativefs.getDirectoryItemsInfo() Fixes coredump caused by passing nil to argument #1 of nativefs.getDirectoryItemsInfo(). Aside: An invalid arg #2 (filtertype) can slip by if the inner function doesn't iterate over any actual directory items. Perhaps it would be better to type-check in withTempMount(), as that seems to be the source of the issue here and in getDirectoryItems(). --- nativefs.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nativefs.lua b/nativefs.lua index 1a3739b..2214bfc 100644 --- a/nativefs.lua +++ b/nativefs.lua @@ -373,6 +373,9 @@ local function getDirectoryItemsInfo(path, filtertype) end function nativefs.getDirectoryItemsInfo(path, filtertype) + if type(path) ~= "string" then + error("bad argument #1 to 'getDirectoryItemsInfo' (string expected, got " .. type(path) .. ")") + end local result, err = withTempMount(path, getDirectoryItemsInfo, filtertype) return result or {} end