cybersecurity · beginner · ~15 min · safe pentest lab

Severity rank

Order severities for sorting a report.

Challenge

Map a severity label to a numeric rank so findings can be sorted worst-first in a report.

Task

Implement int severity_rank(const char *sev) that returns a rank for the given severity, or -1 for an unknown label.

Input

  • sev: a NUL-terminated severity label the grader passes.

Output

Returns int:

  • 4 for "Critical", 3 for "High", 2 for "Medium", 1 for "Low", 0 for "Info".
  • -1 for anything else.

Example

severity_rank("Critical")   ->   4
severity_rank("Low")        ->   1
severity_rank("Info")       ->   0
severity_rank("Spicy")      ->   -1

Edge cases

  • Any label outside the five known levels returns -1.

Input format

A NUL-terminated severity label sev.

Output format

An int: 4/3/2/1/0 for Critical/High/Medium/Low/Info, else -1.

Constraints

Exact label match; unknown labels return -1.

Starter code

#include <string.h>

int severity_rank(const char *sev) {
    /* TODO */
    return -1;
}

Solve this exercise in the browser editor — compile and run against the test harness, no setup required.