mirror of
https://github.com/Combodo/iTop.git
synced 2026-04-30 22:18:46 +02:00
N°3310 - Fix corrupted backups when a file has a size which is a multiple of 512 bytes
This commit is contained in:
@@ -731,7 +731,7 @@ class Archive_Tar extends PEAR
|
||||
*/
|
||||
public function setIgnoreList($list)
|
||||
{
|
||||
$regexp = str_replace(array('#', '.', '^', '$'), array('\#', '\.', '\^', '\$'), $list);
|
||||
$list = str_replace(array('#', '.', '^', '$'), array('\#', '\.', '\^', '\$'), $list);
|
||||
$regexp = '#/' . join('$|/', $list) . '#';
|
||||
$this->setIgnoreRegexp($regexp);
|
||||
}
|
||||
@@ -1273,7 +1273,7 @@ class Archive_Tar extends PEAR
|
||||
while (($v_buffer = fread($v_file, $this->buffer_length)) != '') {
|
||||
$buffer_length = strlen("$v_buffer");
|
||||
if ($buffer_length != $this->buffer_length) {
|
||||
$pack_size = ((int)($buffer_length / 512) + 1) * 512;
|
||||
$pack_size = ((int)($buffer_length / 512) + ($buffer_length % 512 !== 0 ? 1 : 0)) * 512;
|
||||
$pack_format = sprintf('a%d', $pack_size);
|
||||
} else {
|
||||
$pack_format = sprintf('a%d', $this->buffer_length);
|
||||
@@ -1515,8 +1515,13 @@ class Archive_Tar extends PEAR
|
||||
$userinfo = posix_getpwuid($p_uid);
|
||||
$groupinfo = posix_getgrgid($p_gid);
|
||||
|
||||
$v_uname = $userinfo['name'];
|
||||
$v_gname = $groupinfo['name'];
|
||||
if ($userinfo === false || $groupinfo === false) {
|
||||
$v_uname = '';
|
||||
$v_gname = '';
|
||||
} else {
|
||||
$v_uname = $userinfo['name'];
|
||||
$v_gname = $groupinfo['name'];
|
||||
}
|
||||
} else {
|
||||
$v_uname = '';
|
||||
$v_gname = '';
|
||||
|
||||
Reference in New Issue
Block a user