aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rc/rc-plugin.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/rc/rc-plugin.c b/src/rc/rc-plugin.c
index e4650b1d..31ccd341 100644
--- a/src/rc/rc-plugin.c
+++ b/src/rc/rc-plugin.c
@@ -68,7 +68,7 @@ rc_plugin_load(void)
DIR *dp;
struct dirent *d;
PLUGIN *plugin;
- char file[PATH_MAX];
+ char *file = NULL;
void *h;
int (*fptr)(RC_HOOK, const char *);
@@ -85,8 +85,9 @@ rc_plugin_load(void)
if (d->d_name[0] == '.')
continue;
- snprintf(file, sizeof(file), RC_PLUGINDIR "/%s", d->d_name);
+ xasprintf(&file, RC_PLUGINDIR "/%s", d->d_name);
h = dlopen(file, RTLD_LAZY);
+ free(file);
if (h == NULL) {
eerror("dlopen: %s", dlerror());
continue;