mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-01-16 18:18:38 -05:00
28 lines
603 B
C++
28 lines
603 B
C++
#include <jwt-cpp/jwt.h>
|
|
|
|
extern "C" {
|
|
|
|
int LLVMFuzzerTestOneInput(const uint8_t* Data, size_t Size) {
|
|
try {
|
|
// step 1: parse input
|
|
const auto jwt1 = jwt::decode(std::string{(char*)Data, Size});
|
|
|
|
try {
|
|
// step 2: round trip
|
|
std::string s1 = jwt1.get_token();
|
|
const auto jwt2 = jwt::decode(s1);
|
|
|
|
// tokens must match
|
|
if (s1 != jwt2.get_token()) abort();
|
|
} catch (...) {
|
|
// parsing raw data twice must not fail
|
|
abort();
|
|
}
|
|
} catch (...) {
|
|
// parse errors are ok, because input may be random bytes
|
|
}
|
|
|
|
return 0; // Non-zero return values are reserved for future use.
|
|
}
|
|
}
|