rand/rand_unix.c: omit error from DSO_global_lookup.
[openssl.git] / crypto / rand / rand_unix.c
index 9f17494d118816af7eef2026300b1c0e439698e6..e8222e98735f8e18fde27722db99e52c8c422eed 100644 (file)
@@ -247,7 +247,9 @@ int syscall_random(void *buf, size_t buflen)
      * - Linux since 3.17 with glibc 2.25
      * - FreeBSD since 12.0 (1200061)
      */
+    ERR_set_mark();
     p_getentropy.p = DSO_global_lookup("getentropy");
+    ERR_pop_to_mark();
     if (p_getentropy.p != NULL)
         return p_getentropy.f(buf, buflen) == 0 ? buflen : 0;