diff options
Diffstat (limited to 'xorg-server/hw/xfree86/loader/dlloader.c')
-rw-r--r-- | xorg-server/hw/xfree86/loader/dlloader.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/xorg-server/hw/xfree86/loader/dlloader.c b/xorg-server/hw/xfree86/loader/dlloader.c index 4caefd071..18dcb76c6 100644 --- a/xorg-server/hw/xfree86/loader/dlloader.c +++ b/xorg-server/hw/xfree86/loader/dlloader.c @@ -87,16 +87,15 @@ DLFindSymbolLocal(pointer module, const char *name) static const char symPrefix[] = DLSYM_PREFIX; - if (strlen(symPrefix)) { + if (sizeof(symPrefix) > 1) { n = malloc(strlen(symPrefix) + strlen(name) + 1); sprintf(n, "%s%s", symPrefix, name); - } else { - n = name; + name = n; } - p = dlsym(module, n); + p = dlsym(module, name); - if (strlen(symPrefix)) + if (sizeof(symPrefix) > 1) free(n); return p; |