diff --git a/odoo/tools/cloc.py b/odoo/tools/cloc.py
index acc1398465e49f4e33b891e4f1bb5e8ef52667b2..762b17006df2fa2e213752075d551c17100c7dff 100644
--- a/odoo/tools/cloc.py
+++ b/odoo/tools/cloc.py
@@ -22,6 +22,7 @@ DEFAULT_EXCLUDE = [
 
 STANDARD_MODULES = ['web', 'web_enterprise', 'website_animate', 'base']
 MAX_FILE_SIZE = 25 * 2**20 # 25 MB
+MAX_LINE_SIZE = 100000
 
 class Cloc(object):
     def __init__(self):
@@ -61,6 +62,10 @@ class Cloc(object):
         # Based on https://stackoverflow.com/questions/241327
         s = s.strip() + "\n"
         total = s.count("\n")
+        # To avoid to use too much memory we don't try to count file
+        # with very large line, usually minified file
+        if max(len(l) for l in s.split('\n')) > MAX_LINE_SIZE:
+            return -1, "Max line size exceeded"
         def replacer(match):
             s = match.group(0)
             return " " if s.startswith('/') else s