registry: check the value of dladdr()
authorMatthew Waters <matthew@centricular.com>
Mon, 7 Feb 2022 05:36:13 +0000 (16:36 +1100)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Mon, 7 Feb 2022 09:37:57 +0000 (09:37 +0000)
info.dli_fname could be NULL.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/994

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1644>

subprojects/gstreamer/gst/gstregistry.c

index 21ccb74..3b1906e 100644 (file)
@@ -1573,9 +1573,19 @@ priv_gst_get_relocated_libgstreamer (void)
   {
     Dl_info info;
 
+    GST_DEBUG ("attempting to retrieve libgstreamer-1.0 location using "
+        "dladdr()");
+
     if (dladdr (&gst_init, &info)) {
+      GST_LOG ("dli_fname: %s", info.dli_fname);
+
+      if (!info.dli_fname) {
+        return NULL;
+      }
+
       dir = g_path_get_dirname (info.dli_fname);
     } else {
+      GST_LOG ("dladdr() failed");
       return NULL;
     }
   }