From f0df94ca6b09a9a0f0df3d8f73cda31b93f2bef5 Mon Sep 17 00:00:00 2001 From: Patrick Swieskowski Date: Sun, 6 Nov 2011 08:56:00 -0800 Subject: [PATCH] fix crash on invalid Cookie header --- tornado/test/web_test.py | 5 ++++- tornado/web.py | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/tornado/test/web_test.py b/tornado/test/web_test.py index 6898ffc03..c5ae99a37 100644 --- a/tornado/test/web_test.py +++ b/tornado/test/web_test.py @@ -68,7 +68,7 @@ class CookieTest(AsyncHTTPTestCase, LogTrapTestCase): class GetCookieHandler(RequestHandler): def get(self): - self.write(self.get_cookie("foo")) + self.write(self.get_cookie("foo", "default")) class SetCookieDomainHandler(RequestHandler): def get(self): @@ -105,6 +105,9 @@ class CookieTest(AsyncHTTPTestCase, LogTrapTestCase): response = self.fetch("/get", headers={"Cookie": 'foo="bar"'}) self.assertEqual(response.body, b("bar")) + response = self.fetch("/get", headers={"Cookie": "/=exception;"}) + self.assertEqual(response.body, b("default")) + def test_set_cookie_domain(self): response = self.fetch("/set_domain") self.assertEqual(response.headers.get_list("Set-Cookie"), diff --git a/tornado/web.py b/tornado/web.py index e87f33054..ddedf88b6 100644 --- a/tornado/web.py +++ b/tornado/web.py @@ -322,7 +322,7 @@ class RequestHandler(object): def get_cookie(self, name, default=None): """Gets the value of the cookie with the given name, else default.""" - if name in self.request.cookies: + if self.request.cookies is not None and name in self.request.cookies: return self.request.cookies[name].value return default -- 2.47.2