loader: Avoid use-after-free / use of uninitialized local variables
[mesa.git] / src / loader / pci_id_driver_map.c
index 3c4657fd014ea503d73db339f82db0d78734e8de..8b2079e4354c3cf60dbd424b9bc410672a91d777 100644 (file)
@@ -25,6 +25,7 @@ int is_nouveau_vieux(int fd);
 
 #ifdef HAVE_LIBDRM
 
+#include <stdlib.h>
 #include <xf86drm.h>
 #include <nouveau_drm.h>
 
@@ -45,7 +46,8 @@ int
 is_nouveau_vieux(int fd)
 {
    int chipset = nouveau_chipset(fd);
-   return chipset > 0 && chipset < 0x30;
+   return (chipset > 0 && chipset < 0x30) ||
+      (chipset < 0x40 && getenv("NOUVEAU_VIEUX") != NULL);
 }
 
 #else