Improvement: Detect self reference on 'Insert...'
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 55/100
Línea de trabajo
The issue asks for an assertion that InsertEndChild (and the InsertChildElement() path it calls) rejects a child pointer equal to this. Start in tinyxml2.cpp where XMLNode::InsertEndChild is defined and find where the insertion takes place. Add a check there, then run the existing tests to confirm they still pass. Done means a self-insertion trips the assert immediately, not later during document teardown. The payload does not say whether maintainers want this, and nobody has replied in 1548 days.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi there,
today I managed to produce a stupid error by copy&pasting.
Here is the minimal code snipplet:
// <foo>
auto *pElement = xmlDoc.NewElement("foo");
pElement->InsertEndChild( pElement );
/\
|__ this should have been some other parent element
The problems with the construct is that it compiles and appears to run fine until the xmlDoc is destroyed.
Then some assertions in the clean up code are triggered. Now I could see that there was a problem, but it took me some hours to
understand (and finally see) what the problem was.
I suggest to add an assertion that the pointer handed to 'InsertChildElement()' is != this
What do you think?
Best regards,
Sven
- Lenguaje dominante
- C++
- Estrellas
- 5.8k
- Forks
- 2k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de leethomason/tinyxml2
-
XMLNode::InsertAfterChild dereferences NULL when addThis is already afterThis's next siblingPosiblemente ocupada @zhouyunding la tomó hace 4 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
leethomason/tinyxml2#1101 ·
-
CDATA output containing ]]> is not well-formed XMLPosiblemente ocupada @bconnnnn la tomó hace 15 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
leethomason/tinyxml2#1097 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
leethomason/tinyxml2#923 · 2 comentarios ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
leethomason/tinyxml2#914 ·
-
New release requestAbierto
Dificultad 2/5 Menos de una hora Aptitud para principiantes 15/100
leethomason/tinyxml2#1087 · 4 comentarios ·
Todos los issues de leethomason/tinyxml2
Issues similares
-
Remove source files from packaging for deb, zip, etcPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
OpenSpace/OpenSpace#4353 · 1 comentario ·
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
justcallmekoko/ESP32Marauder#1656 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Decompiler: convertCharRef() in xml.y overflows its int4 accumulator on long character referencesPosiblemente ocupada @kaayzouee la tomó hace 1 día. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
NationalSecurityAgency/ghidra#10009 ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
mutationpp/Mutationpp#337 ·