Hacktoberfest 2026: die Issues, die Maintainer für den Oktober markiert haben – offen und einsteigerfreundlich. Hacktoberfest-Issues durchsuchen

stack overflow in asan/dom?

Offen
#23,118 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Anfängerfreundlichkeit
45/100
Issue-Typ
Bug
Klarheit
Größtenteils klar
Aktivitätsstatus
Ruhig
Tech-Stack
c
Bereich
backend

Rechercherichtung

Beginnen Sie damit, das Beispiel für PHP 8.6.0 mit DOMDocument::loadXML(), LIBXML_PARSEHUGE und cloneNode(true) unter ASan mit USE_ZEND_ALLOC-0 zu reproduzieren. Verfolgen Sie den Pfad des DOM-Klonens und seine Interaktion mit libxml2; abgeschlossen ist die Aufgabe, wenn die gemeldete tief verschachtelte Eingabe keinen Stack Overflow mehr verursacht.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

Bug Extension: dom Status: Needs Triage Status: Verified
Description

The following code:

<?php
$xml = str_repeat('<a>', 400000) . 'x' . str_repeat('</a>', 400000);
$d=new DOMDocument(); $d->loadXML($xml, LIBXML_PARSEHUGE);
$c = $d->documentElement->cloneNode(true);

Resulted in this output:

    #191 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #192 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #193 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #194 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #195 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #196 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #197 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #198 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #199 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #200 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #201 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #202 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #203 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #204 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #205 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #206 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #207 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #208 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #209 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #210 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #211 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #212 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #213 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #214 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #215 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #216 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #217 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #218 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #219 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #220 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #221 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #222 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #223 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #224 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #225 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #226 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #227 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #228 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #229 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #230 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #231 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #232 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #233 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #234 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #235 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #236 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #237 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #238 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #239 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #240 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #241 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #242 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #243 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #244 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #245 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #246 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #247 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)
    #248 0x7fc83e16234b  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7234b)
    #249 0x7fc83e16168a  (/lib/x86_64-linux-gnu/libxml2.so.2+0x7168a)

SUMMARY: AddressSanitizer: stack-overflow ../../../../src/libsanitizer/sanitizer_common/sanitizer_stackdepot.cpp:54 in __sanitizer::StackDepotNode::hash(__sanitizer::StackTrace const&)
==45==ABORTING
USE_ZEND_ALLOC-0
PHP Version
8.6.0
Operating System

ubuntu 22.04

Vorherrschende Sprache
C
Sterne
40.4k
Forks
8.2k
Ø Merge
2 T. 17 Std.
Gemergte PRs (30 T.)
115

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus php/php-src

Alle Issues in php/php-src

Ähnliche Issues

Weitere Issues zu C

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.