Previosuly, we would catch and report an unset GLAZE_LIBGL variable
with a clean error message so that the user would know to set this
variable. Similarly, if the variable was set to an incorrect filename,
that would also result in a good error message.
But, if the user happened to set GLAZE_LIBGL to an empty string, then
Glaze would march on and end up triggering the dlsym behavior where a
NULL handle results in a lookup in the local program. This would then
trigger infinite recursion in the resolving of the ifunc symbol and a
not-very-useful segfault.
We avoid all that by noticing the empty string up front and giving the
user the useful error message.
                libgl_path = getenv ("GLAZE_LIBGL_64_AUTO");
 #endif
 
-               if (libgl_path == NULL) {
+               if (libgl_path == NULL || strlen (libgl_path) == 0) {
                        fprintf (stderr,
                                 "Error: Failed to detect OpenGL library.\n"
                                 "Please set GLAZE_LIBGL to path of real libGL.so\n");