⬢ DragonFlyBSD Kernel Audit
DF-4884 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/drm/amd/amdgpu/amdgpu_bios.c
+++ b/sys/dev/drm/amd/amdgpu/amdgpu_bios.c
@@ -114,6 +114,7 @@
 
 	if (!check_atom_bios(adev->bios, size)) {
 		kfree(adev->bios);
+		adev->bios = NULL;
 		return false;
 	}
 
@@ -143,6 +144,7 @@
 
 	if (!check_atom_bios(adev->bios, size)) {
 		kfree(adev->bios);
+		adev->bios = NULL;
 		return false;
 	}
 
@@ -183,6 +185,7 @@
 
 	if (!check_atom_bios(adev->bios, len)) {
 		kfree(adev->bios);
+		adev->bios = NULL;
 		return false;
 	}
 
@@ -352,6 +355,7 @@
 
 	if (!check_atom_bios(adev->bios, size)) {
 		kfree(adev->bios);
+		adev->bios = NULL;
 		return false;
 	}
 	adev->bios_size = size;
@@ -426,6 +430,7 @@
 
 			if (!check_atom_bios(adev->bios, vhdr->ImageLength)) {
 				kfree(adev->bios);
+				adev->bios = NULL;
 				return false;
 			}
 			adev->bios_size = vhdr->ImageLength;