mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-05-31 16:13:31 +00:00
fix(plugin-loader): guard against empty basename when plugin_dir resolves to fs root
If plugin_dir somehow resolves to '/' or a bare drive root, os.path.basename() returns '', causing safe_plugin_dir to equal plugins_dir_real and the isdir() check to pass incorrectly. Reject early with a clear error in that case. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -170,6 +170,9 @@ class PluginLoader:
|
|||||||
# CodeQL considers untainted.
|
# CodeQL considers untainted.
|
||||||
plugins_dir_real = os.path.realpath(str(plugins_dir))
|
plugins_dir_real = os.path.realpath(str(plugins_dir))
|
||||||
safe_dir_name = os.path.basename(plugin_dir_real)
|
safe_dir_name = os.path.basename(plugin_dir_real)
|
||||||
|
if not safe_dir_name:
|
||||||
|
self.logger.error("Could not determine plugin directory name for %s", plugin_id)
|
||||||
|
return False
|
||||||
safe_plugin_dir = os.path.join(plugins_dir_real, safe_dir_name)
|
safe_plugin_dir = os.path.join(plugins_dir_real, safe_dir_name)
|
||||||
if not os.path.isdir(safe_plugin_dir):
|
if not os.path.isdir(safe_plugin_dir):
|
||||||
self.logger.error(
|
self.logger.error(
|
||||||
|
|||||||
Reference in New Issue
Block a user