1 |
--- mailman-2.1.5.1/misc/email-2.5.5/email/Message.py.CVE-2005-3573 2006-03-02 14:02:21.000000000 +0100 |
2 |
+++ mailman-2.1.5.1/misc/email-2.5.5/email/Message.py 2006-03-02 14:03:24.000000000 +0100 |
3 |
@@ -721,17 +721,20 @@ |
4 |
The filename is extracted from the Content-Disposition header's |
5 |
`filename' parameter, and it is unquoted. |
6 |
""" |
7 |
- missing = [] |
8 |
- filename = self.get_param('filename', missing, 'content-disposition') |
9 |
- if filename is missing: |
10 |
+ try: |
11 |
+ missing = [] |
12 |
+ filename = self.get_param('filename', missing, 'content-disposition') |
13 |
+ if filename is missing: |
14 |
+ return failobj |
15 |
+ if isinstance(filename, TupleType): |
16 |
+ # It's an RFC 2231 encoded parameter |
17 |
+ newvalue = _unquotevalue(filename) |
18 |
+ return unicode(newvalue[2], newvalue[0] or 'us-ascii') |
19 |
+ else: |
20 |
+ newvalue = _unquotevalue(filename.strip()) |
21 |
+ return newvalue |
22 |
+ except: |
23 |
return failobj |
24 |
- if isinstance(filename, TupleType): |
25 |
- # It's an RFC 2231 encoded parameter |
26 |
- newvalue = _unquotevalue(filename) |
27 |
- return unicode(newvalue[2], newvalue[0] or 'us-ascii') |
28 |
- else: |
29 |
- newvalue = _unquotevalue(filename.strip()) |
30 |
- return newvalue |
31 |
|
32 |
def get_boundary(self, failobj=None): |
33 |
"""Return the boundary associated with the payload if present. |