Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Sign extension at phar_object.c

Fechada Para iniciantes
#23,718 1 comentário 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
2/5
Tempo estimado
1-3 horas
Facilidade para iniciantes
78/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Ativa
Stack de tecnologia
c, php
Domínio
backend

Direção de pesquisa

Comece em ext/phar/phar_object.c, em PharFileInfo::getCompressedSize(), e depois leia a definição de zend_long em Zend/zend_long.h. Reproduza o caso de um compressed_filesize grande em um build de 32 bits e adicione ou atualize a cobertura de regressão relevante do Phar. Está concluído quando os valores acima de INT32_MAX não forem mais reportados como negativos.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Bug Status: Needs Triage
Description

The field compressed_filesize is a uint32_t, but PharFileInfo::getCompressedSize() returns it with RETURN_LONG:
https://github.com/php/php-src/blob/fca72841a5d41b11c0e60ed0906af6af302741ca/ext/phar/phar_object.c#L4497
zend_long is 32-bit on 32-bit platforms:
https://github.com/php/php-src/blob/fca72841a5d41b11c0e60ed0906af6af302741ca/Zend/zend_long.h#L41-L49
so a size above INT32_MAX is reported as a negative number.

Found by Linux Verification Center (portal.linuxtesting.ru) with SVACE.

Reporter: Pavel Nekrasov ([email protected]).

PHP Version
php version - 8.3
Operating System

No response

Linguagem predominante
C
Estrelas
40.4k
Forks
8.2k
Merge médio
2d 11h
PRs com merge (30d)
116

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de php/php-src

Todas as issues de php/php-src

Issues semelhantes

Mais issues de C

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.