Skip to content

Commit 1bdb8a5

Browse files
committed
Add default cases for CVSS 4.0 switch statements
These should never occur but this ensures the values are always set, so variables are initialized.
1 parent cea666b commit 1bdb8a5

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

base/cvss.c

+25-2
Original file line numberDiff line numberDiff line change
@@ -1432,6 +1432,8 @@ cvss4_metric_level (cvss4_metric_t metric, char value)
14321432
return 0.2;
14331433
case 'P':
14341434
return 0.3;
1435+
default:
1436+
return -99.0;
14351437
}
14361438
break;
14371439
case CVSS4_PR:
@@ -1443,6 +1445,8 @@ cvss4_metric_level (cvss4_metric_t metric, char value)
14431445
return 0.1;
14441446
case 'H':
14451447
return 0.2;
1448+
default:
1449+
return -99.0;
14461450
}
14471451
break;
14481452
case CVSS4_UI:
@@ -1454,6 +1458,8 @@ cvss4_metric_level (cvss4_metric_t metric, char value)
14541458
return 0.1;
14551459
case 'A':
14561460
return 0.2;
1461+
default:
1462+
return -99.0;
14571463
}
14581464
break;
14591465
case CVSS4_AC:
@@ -1463,6 +1469,8 @@ cvss4_metric_level (cvss4_metric_t metric, char value)
14631469
return 0.0;
14641470
case 'H':
14651471
return 0.1;
1472+
default:
1473+
return -99.0;
14661474
}
14671475
break;
14681476
case CVSS4_AT:
@@ -1472,6 +1480,8 @@ cvss4_metric_level (cvss4_metric_t metric, char value)
14721480
return 0.0;
14731481
case 'P':
14741482
return 0.1;
1483+
default:
1484+
return -99.0;
14751485
}
14761486
break;
14771487
case CVSS4_VC:
@@ -1485,6 +1495,8 @@ cvss4_metric_level (cvss4_metric_t metric, char value)
14851495
return 0.1;
14861496
case 'N':
14871497
return 0.2;
1498+
default:
1499+
return -99.0;
14881500
}
14891501
break;
14901502
case CVSS4_SC:
@@ -1500,6 +1512,8 @@ cvss4_metric_level (cvss4_metric_t metric, char value)
15001512
return 0.2;
15011513
case 'N':
15021514
return 0.3;
1515+
default:
1516+
return -99.0;
15031517
}
15041518
break;
15051519
case CVSS4_CR:
@@ -1513,6 +1527,8 @@ cvss4_metric_level (cvss4_metric_t metric, char value)
15131527
return 0.1;
15141528
case 'L':
15151529
return 0.2;
1530+
default:
1531+
return -99.0;
15161532
}
15171533
break;
15181534

@@ -1529,9 +1545,8 @@ cvss4_metric_level (cvss4_metric_t metric, char value)
15291545
break;
15301546
*/
15311547
default:
1532-
return 0.0;
1548+
return -99.0;
15331549
}
1534-
return 0.0;
15351550
}
15361551

15371552
/**
@@ -1663,6 +1678,8 @@ cvss4_max_severities (const char *macrovector, double *max_severity_eq1,
16631678
case '2':
16641679
*max_severity_eq1 = 0.5;
16651680
break;
1681+
default:
1682+
*max_severity_eq1 = -99.0;
16661683
}
16671684

16681685
switch (macrovector[1])
@@ -1673,6 +1690,8 @@ cvss4_max_severities (const char *macrovector, double *max_severity_eq1,
16731690
case '1':
16741691
*max_severity_eq2 = 0.2;
16751692
break;
1693+
default:
1694+
*max_severity_eq2 = -99.0;
16761695
}
16771696

16781697
switch (macrovector[2])
@@ -1689,6 +1708,8 @@ cvss4_max_severities (const char *macrovector, double *max_severity_eq1,
16891708
case '2':
16901709
*max_severity_eq3eq6 = 1.0;
16911710
break;
1711+
default:
1712+
*max_severity_eq3eq6 = -99.0;
16921713
}
16931714

16941715
switch (macrovector[3])
@@ -1702,6 +1723,8 @@ cvss4_max_severities (const char *macrovector, double *max_severity_eq1,
17021723
case '2':
17031724
*max_severity_eq4 = 0.4;
17041725
break;
1726+
default:
1727+
*max_severity_eq4 = -99.0;
17051728
}
17061729
}
17071730

0 commit comments

Comments
 (0)