compositor: Fix buggy snprintf that sets module path
authorChad Versace <chad.versace@linux.intel.com>
Thu, 24 May 2012 06:42:15 +0000 (23:42 -0700)
committerKristian Høgsberg <krh@bitplanet.net>
Sat, 26 May 2012 03:05:44 +0000 (23:05 -0400)
If the MODULEDIR string contains '%', then
    snprintf(path, sizeof(path), MODULEDIR "/%s", name);
does not do what you want.

Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
src/compositor.c

index c68b5ba..d21459b 100644 (file)
@@ -2777,7 +2777,7 @@ load_module(const char *name, const char *entrypoint, void **handle)
        void *module, *init;
 
        if (name[0] != '/')
-               snprintf(path, sizeof path, MODULEDIR "/%s", name);
+               snprintf(path, sizeof path, "%s/%s", MODULEDIR, name);
        else
                snprintf(path, sizeof path, "%s", name);