summaryrefslogtreecommitdiff
path: root/program/lib/tnef_decoder.php
diff options
context:
space:
mode:
authorAndy Wermke <andy@dev.next-step-software.com>2013-04-04 16:10:23 +0200
committerAndy Wermke <andy@dev.next-step-software.com>2013-04-04 16:10:23 +0200
commit92cd7f34b07e86062f2c024039e3309768b48ce6 (patch)
tree63b9f39280ebcab80742d9f2b4db6a139c1791e1 /program/lib/tnef_decoder.php
parent029d18f13bcf01aa2f1f08dbdfc6400c081bf7cb (diff)
parent443b92a7ee19e321b350750240e0fc54ec5be357 (diff)
Merge branch 'master' of https://github.com/roundcube/roundcubemail
Diffstat (limited to 'program/lib/tnef_decoder.php')
-rw-r--r--program/lib/tnef_decoder.php11
1 files changed, 6 insertions, 5 deletions
diff --git a/program/lib/tnef_decoder.php b/program/lib/tnef_decoder.php
index 28d368989..e6ccc23d7 100644
--- a/program/lib/tnef_decoder.php
+++ b/program/lib/tnef_decoder.php
@@ -243,16 +243,16 @@ class tnef_decoder
/* Store any interesting attributes. */
switch ($attr_name) {
case self::MAPI_ATTACH_LONG_FILENAME:
+ $value = str_replace("\0", '', $value);
/* Used in preference to AFILENAME value. */
$attachment_data[0]['name'] = preg_replace('/.*[\/](.*)$/', '\1', $value);
- $attachment_data[0]['name'] = str_replace("\0", '', $attachment_data[0]['name']);
break;
case self::MAPI_ATTACH_MIME_TAG:
+ $value = str_replace("\0", '', $value);
/* Is this ever set, and what is format? */
- $attachment_data[0]['type'] = preg_replace('/^(.*)\/.*/', '\1', $value);
+ $attachment_data[0]['type'] = preg_replace('/^(.*)\/.*/', '\1', $value);
$attachment_data[0]['subtype'] = preg_replace('/.*\/(.*)$/', '\1', $value);
- $attachment_data[0]['subtype'] = str_replace("\0", '', $attachment_data[0]['subtype']);
break;
}
}
@@ -295,9 +295,10 @@ class tnef_decoder
break;
case self::AFILENAME:
+ $value = $this->_getx($data, $this->_geti($data, 32));
+ $value = str_replace("\0", '', $value);
/* Strip path. */
- $attachment_data[0]['name'] = preg_replace('/.*[\/](.*)$/', '\1', $this->_getx($data, $this->_geti($data, 32)));
- $attachment_data[0]['name'] = str_replace("\0", '', $attachment_data[0]['name']);
+ $attachment_data[0]['name'] = preg_replace('/.*[\/](.*)$/', '\1', $value);
/* Checksum */
$this->_geti($data, 16);