[IMP] cookies: when retrieving session cookie, catch eventual errors and remove malfo...
authorMartin Trigaux <mat@openerp.com>
Thu, 27 Mar 2014 11:34:01 +0000 (12:34 +0100)
committerMartin Trigaux <mat@openerp.com>
Thu, 27 Mar 2014 11:34:01 +0000 (12:34 +0100)
bzr revid: mat@openerp.com-20140327113401-s3ee7fnexhre9mwb

addons/web/static/src/js/coresetup.js

index 7d37dc2..85c3284 100644 (file)
@@ -125,7 +125,12 @@ instance.web.Session = instance.web.JsonRPC.extend( /** @lends instance.web.Sess
         for(var i=0; i<cookies.length; ++i) {
             var cookie = cookies[i].replace(/^\s*/, '');
             if(cookie.indexOf(nameEQ) === 0) {
-                return JSON.parse(decodeURIComponent(cookie.substring(nameEQ.length)));
+                try {
+                    return JSON.parse(decodeURIComponent(cookie.substring(nameEQ.length)));
+                } catch (err) {
+                    // delete malformed cookie
+                    this.set_cookie(name, '', -1);
+                }
             }
         }
         return null;