forked from mirrors/nixpkgs
dcea851434
In particular, do not try dlopening libudev by a non-absolute path. /cc @wkennington.
23 lines
759 B
Diff
23 lines
759 B
Diff
diff --git a/loader.c b/loader.c
|
|
index 4fdf3c2..69ea22d 100644
|
|
--- a/src/loader/loader.c
|
|
+++ b/src/loader/loader.c
|
|
@@ -112,7 +112,7 @@ static void *udev_handle = NULL;
|
|
static void *
|
|
udev_dlopen_handle(void)
|
|
{
|
|
- char name[80];
|
|
+ char name[256];
|
|
unsigned flags = RTLD_NOLOAD | RTLD_LOCAL | RTLD_LAZY;
|
|
int version;
|
|
|
|
@@ -126,7 +126,7 @@ udev_dlopen_handle(void)
|
|
/* First try opening an already linked libudev, then try loading one */
|
|
do {
|
|
for (version = 1; version >= 0; version--) {
|
|
- snprintf(name, sizeof(name), "libudev.so.%d", version);
|
|
+ snprintf(name, sizeof(name), "@udev@/lib/libudev.so.%d", version);
|
|
udev_handle = dlopen(name, flags);
|
|
if (udev_handle)
|
|
return udev_handle;
|