DragonFlyBSD Kernel Audit
DF-1591 / fix.diff
← back to finding ↓ download raw
diff --git a/sys/dev/raid/tws/tws_cam.c b/sys/dev/raid/tws/tws_cam.c
--- a/sys/dev/raid/tws/tws_cam.c
+++ b/sys/dev/raid/tws/tws_cam.c
@@ -434,7 +434,9 @@
             event.aen_code = sense->status_block.error;
             event.severity = sense->status_block.res__severity & 0x7;
             event.event_src = TWS_SRC_CTRL_EVENT;
-            strcpy(event.severity_str, tws_sev_str[event.severity]);
+            if (event.severity >= nitems(tws_sev_str))
+				event.severity = 0;
+			strcpy(event.severity_str, tws_sev_str[event.severity]);
             event.retrieved = TWS_AEN_NOT_RETRIEVED;
 
             bcopy(sense->err_specific_desc, event.parameter_data,