Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

NULL pointer dereference in php_ini.c (PHP 8.3)

Ouverte Adaptée aux débutants
#24,139 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
82/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
c, php
Domaine
backend

Piste de recherche

Lisez main/php_ini.c autour de l’appel à expand_filepath() à la ligne 565 et de l’appel ultérieur à strlen(filename) vers la ligne 610. Vérifiez les tests PHP INI existants avant d’exécuter la suite de tests pertinente. Le travail est terminé lorsque le chemin d’erreur ne peut pas déréférencer un filename NULL et que le comportement est couvert par un test approprié.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Bug Status: Needs Triage
Description

At main/php_ini.c:565 the return value of expand_filepath() is assigned to pointer filename without checking whether the function returned NULL:

https://github.com/php/php-src/blob/PHP-8.3/main/php_ini.c#L563-L566

The expand_filepath() function may return NULL if path expansion fails. However, later pointer filename is dereferenced by calling strlen(filename) without an additional NULL check:

https://github.com/php/php-src/blob/PHP-8.3/main/php_ini.c#L599-L609

In the analyzed PHP 8.3 source this operation corresponds to php_ini.c:610.

This may lead to a NULL pointer dereference if expand_filepath() fails.

Possible solution

Checking the return value of expand_filepath() before using filename may prevent unexpected behavior:

filename = expand_filepath(php_ini_file_name, NULL);
if (filename) {
    free_filename = true;
} else {
    filename = php_ini_file_name;
}

Found by Linux Verification Center (https://portal.linuxtesting.ru/) using SVACE.
Author E. Tretiakov.

PHP Version
8.3.24 (found with static analysis)
Operating System

N/A

Langage dominant
C
Étoiles
40.4k
Forks
8.2k
Merge moyen
2 j 3 h
PR mergées (30 j)
151

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de php/php-src

Toutes les issues de php/php-src

Issues similaires

Plus d'issues C

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.