CWE ID: 365
Name: DEPRECATED: Race Condition in Switch
Dieser Eintrag ist veraltet. Es gibt keine dokumentierten Fälle, in denen der Kontrollausdruck eines switch-Statements mehr als einmal ausgewertet wurde.
Es ist wahrscheinlich, dass dieser Eintrag anfänglich auf einer Fehlinterpretation des ursprünglichen Quellmaterials basierte. Die ursprüngliche Quelle hatte die Absicht, zu erklären, wie switch-Statements unvorhersehbar werden können, wenn Threads verwendet werden und der Kontrollausdruck Daten oder Variablen verwendet, die sich zwischen den Ausführungen verschiedener Threads ändern können. Diese Schwachstelle wird bereits durch CWE-367 abgedeckt. Ungeachtet der Mehrdeutigkeit in der Dokumentation für einige Sprachen und Compiler, bewerten diese in der Praxis alle den switch-Kontrollausdruck nur einmal. Sollten zukünftige Sprachen festlegen, dass der Kontrollausdruck explizit mehrfach ausgewertet wird, wäre dies keine Schwachstelle, sondern die Sprache, wie sie konzipiert ist, in Aktion.