sanitize payment request code
authorThomasV <thomasv@gitorious>
Wed, 7 May 2014 16:20:17 +0000 (18:20 +0200)
committerThomasV <thomasv@gitorious>
Wed, 7 May 2014 16:20:17 +0000 (18:20 +0200)
lib/paymentrequest.py

index 5df5d6b..a9f076c 100644 (file)
@@ -65,13 +65,21 @@ class PaymentRequest:
         u = urlparse.urlparse(self.url)
         self.domain = u.netloc
 
-        connection = httplib.HTTPConnection(u.netloc) if u.scheme == 'http' else httplib.HTTPSConnection(u.netloc)
-        connection.request("GET",u.geturl(), headers=REQUEST_HEADERS)
-        resp = connection.getresponse()
+        try:
+            connection = httplib.HTTPConnection(u.netloc) if u.scheme == 'http' else httplib.HTTPSConnection(u.netloc)
+            connection.request("GET",u.geturl(), headers=REQUEST_HEADERS)
+            resp = connection.getresponse()
+        except:
+            self.error = "cannot read url"
+            return
 
-        r = resp.read()
         paymntreq = paymentrequest_pb2.PaymentRequest()
-        paymntreq.ParseFromString(r)
+        try:
+            r = resp.read()
+            paymntreq.ParseFromString(r)
+        except:
+            self.error = "cannot parse payment request"
+            return
 
         sig = paymntreq.signature
         if not sig: