diff --git a/core/registration.c b/core/registration.c index 77715462..bc03b414 100644 --- a/core/registration.c +++ b/core/registration.c @@ -1604,8 +1604,7 @@ static int prv_getId(uint8_t * data, } // Ignore any unrecognized attribute } - if (data[limit] == REG_ATTR_SEPARATOR) - { + if (limit < length && data[limit] == REG_ATTR_SEPARATOR) { limit += 1; } data += limit; diff --git a/tests/fuzzing/registration_handleRequest/crash_files/crash-4722541711a0a70b31362a66129f8d3b27449b29 b/tests/fuzzing/registration_handleRequest/crash_files/crash-4722541711a0a70b31362a66129f8d3b27449b29 new file mode 100644 index 00000000..d57e0157 Binary files /dev/null and b/tests/fuzzing/registration_handleRequest/crash_files/crash-4722541711a0a70b31362a66129f8d3b27449b29 differ diff --git a/tests/fuzzing/registration_handleRequest/crash_files/crash-b609a2dd5c6a5ce4fac6b76d1fdfd2841dca4402 b/tests/fuzzing/registration_handleRequest/crash_files/crash-b609a2dd5c6a5ce4fac6b76d1fdfd2841dca4402 new file mode 100644 index 00000000..446862ce Binary files /dev/null and b/tests/fuzzing/registration_handleRequest/crash_files/crash-b609a2dd5c6a5ce4fac6b76d1fdfd2841dca4402 differ