diff --git a/src/loader/loader.c b/src/loader/loader.c index 4a2e3b23ac6..7cef1d49f60 100644 --- a/src/loader/loader.c +++ b/src/loader/loader.c @@ -240,8 +240,11 @@ static char *loader_get_dri_config_device_id(void) ARRAY_SIZE(__driConfigOptionsLoader)); driParseConfigFiles(&userInitOptions, &defaultInitOptions, 0, "loader", NULL, NULL, NULL, 0, NULL, 0); - if (driCheckOption(&userInitOptions, "device_id", DRI_STRING)) - prime = strdup(driQueryOptionstr(&userInitOptions, "device_id")); + if (driCheckOption(&userInitOptions, "device_id", DRI_STRING)) { + char *opt = driQueryOptionstr(&userInitOptions, "device_id"); + if (*opt) + prime = strdup(opt); + } driDestroyOptionCache(&userInitOptions); driDestroyOptionInfo(&defaultInitOptions);