}
for (j = 0; j < 100; j++) {
name[i+j] = hdr->name[j];
+ if (name[i+j] == '\0') {
+ break;
+ }
}
entry.filename_len = i+j;
}
return ZEND_HASH_APPLY_STOP;
}
- memcpy(header.prefix, entry->filename+100, entry->filename_len - 100);
- memcpy(header.name, entry->filename, 100);
+ memcpy(header.prefix, entry->filename, entry->filename_len - 100);
+ memcpy(header.name, entry->filename + (entry->filename_len - 100), 100);
} else {
memcpy(header.name, entry->filename, entry->filename_len);
}
$pname = 'phar://' . $fname;
$p1 = new PharData($fname);
-$p1[str_repeat('a', 101)] = 'hi';
+$p1[str_repeat('a', 100) . 'b'] = 'hi';
$p1[str_repeat('a', 255)] = 'hi2';
copy($fname, $fname2);
$p2 = new PharData($fname2);
-echo $p2[str_repeat('a', 101)]->getContent() . "\n";
+echo $p2[str_repeat('a', 100) . 'b']->getContent() . "\n";
echo $p2[str_repeat('a', 255)]->getContent() . "\n";
try {