summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-12-18 21:33:27 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-12-18 21:33:27 +0100
commit9590f8bc022080656402295ed91c75aeac92317e (patch)
treea3deae3cad3bfeb371f21734fb17f30b44a8e090
parentb3a42f428bcdc133a4c7bedcb0e66ac8c6a720c9 (diff)
possible buffer overflow fix
-rw-r--r--plugins.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/plugins.c b/plugins.c
index 54cff709..69528b80 100644
--- a/plugins.c
+++ b/plugins.c
@@ -517,10 +517,8 @@ plug_load_all (void) {
fprintf (stderr, "plugin %s is blacklisted in config file\n", d_name);
break;
}
- char fullname[1024];
- strcpy (fullname, plugdir);
- strncat (fullname, "/", 1024);
- strncat (fullname, d_name, 1024);
+ char fullname[PATH_MAX];
+ snprintf (fullname, PATH_MAX, "%s/%s", plugdir, d_name);
printf ("loading plugin %s\n", d_name);
void *handle = dlopen (fullname, RTLD_NOW);
if (!handle) {