From cb8231fcc2d27c70dda8057f04054874e740de22 Mon Sep 17 00:00:00 2001 From: Alex Hultman Date: Sat, 22 Jun 2019 13:05:45 +0200 Subject: [PATCH] Fix integer overflow for now --- src/WebSocketExtensions.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/WebSocketExtensions.h b/src/WebSocketExtensions.h index 51ac984..1bdbff5 100644 --- a/src/WebSocketExtensions.h +++ b/src/WebSocketExtensions.h @@ -58,7 +58,11 @@ public: int hashedToken = 0; while (in != stop && (isalnum(*in) || *in == '-' || *in == '_')) { if (isdigit(*in)) { - hashedToken = hashedToken * 10 - (*in - '0'); + /* This check is a quick and incorrect fix for integer overflow + * in oss-fuzz but we don't care as it doesn't matter either way */ + if (hashedToken > SHRT_MIN && hashedToken < SHRT_MAX) { + hashedToken = hashedToken * 10 - (*in - '0'); + } } else { hashedToken += *in; }