diff --git a/odoo/tools/_monkeypatches.py b/odoo/tools/_monkeypatches.py
index f6e6eb4b5b7023ccc610259247147afe458bc72f..91aa3f9f47dc9e15cb777e09cde2a2c881ae4faf 100644
--- a/odoo/tools/_monkeypatches.py
+++ b/odoo/tools/_monkeypatches.py
@@ -44,7 +44,7 @@ def literal_eval(expr):
         else:
             _logger.error("ODOO_LIMIT_LITEVAL_BUFFER has to be an integer, defaulting to 100KiB")
 
-    if len(expr) > buffer_size:
+    if isinstance(expr, str) and len(expr) > buffer_size:
         raise ValueError("expression can't exceed buffer limit")
 
     return orig_literal_eval(expr)