diff --git a/cheroot/server.py b/cheroot/server.py
index <HASH>..<HASH> 100644
--- a/cheroot/server.py
+++ b/cheroot/server.py
@@ -911,7 +911,14 @@ class HTTPRequest:
             return False
 
         mrbs = self.server.max_request_body_size
-        if mrbs and int(self.inheaders.get(b'Content-Length', 0)) > mrbs:
+
+        try:
+            cl = int(self.inheaders.get(b'Content-Length', 0))
+        except ValueError:
+            self.simple_response('400 Bad Request', 'Malformed Content-Length Header.')
+            return False
+
+        if mrbs and cl > mrbs:
             self.simple_response(
                 '413 Request Entity Too Large',
                 'The entity sent with the request exceeds the maximum '
Fix #<I> Non-int content-length header

Use try/except to catch ValueError when converting content-length to int. Responds to client with <I> error rather than <I> error.