function Archive_Tar::_readLongHeader
7.x system.tar.inc | Archive_Tar::_readLongHeader(&$v_header) |
2 calls to Archive_Tar::_readLongHeader()
- Archive_Tar::_extractInString in drupal-7.x/
modules/ system/ system.tar.inc - This method extract from the archive one file identified by $p_filename. The return value is a string with the file content, or NULL on error.
- Archive_Tar::_extractList in drupal-7.x/
modules/ system/ system.tar.inc
File
- drupal-7.x/
modules/ system/ system.tar.inc, line 1376
Class
- Archive_Tar
- Creates a (compressed) Tar archive *
Code
function _readLongHeader(&$v_header)
{
$v_filename = '';
$n = floor($v_header['size'] / 512);
for ($i = 0; $i < $n; $i++) {
$v_content = $this->_readBlock();
$v_filename .= $v_content;
}
if (($v_header['size'] % 512) != 0) {
$v_content = $this->_readBlock();
$v_filename .= $v_content;
}
// ----- Read the next header
$v_binary_data = $this->_readBlock();
if (!$this->_readHeader($v_binary_data, $v_header)) {
return false;
}
$v_filename = trim($v_filename);
$v_header['filename'] = $v_filename;
if ($this->_maliciousFilename($v_filename)) {
$this->_error('Malicious .tar detected, file "' . $v_filename .
'" will not install in desired directory tree');
return false;
}
return true;
}