Parcourir la source

Add guard against a rare crash in the C tokenizer

tags/v0.5.4
Ben Kurtovic il y a 5 ans
Parent
révision
8c5f554406
3 fichiers modifiés avec 12 ajouts et 4 suppressions
  1. +3
    -2
      CHANGELOG
  2. +3
    -2
      docs/changelog.rst
  3. +6
    -0
      mwparserfromhell/parser/ctokenizer/tok_parse.c

+ 3
- 2
CHANGELOG Voir le fichier

@@ -1,6 +1,7 @@
v0.6 (unreleased):
v0.5.4 (unreleased):

- ...
- Fixed an unlikely crash in the C tokenizer when interrupted while parsing
a heading.

v0.5.3 (released March 30, 2019):



+ 3
- 2
docs/changelog.rst Voir le fichier

@@ -1,13 +1,14 @@
Changelog
=========

v0.6
v0.5.4
----

Unreleased
(`changes <https://github.com/earwig/mwparserfromhell/compare/v0.5.3...develop>`__):

- ...
- Fixed an unlikely crash in the C tokenizer when interrupted while parsing
a heading.

v0.5.3
------


+ 6
- 0
mwparserfromhell/parser/ctokenizer/tok_parse.c Voir le fichier

@@ -813,6 +813,9 @@ static int Tokenizer_parse_heading(Tokenizer* self)
self->global ^= GL_HEADING;
return 0;
}
if (!heading) {
return -1;
}
#ifdef IS_PY3K
level = PyLong_FromSsize_t(heading->level);
#else
@@ -892,6 +895,9 @@ static HeadingData* Tokenizer_handle_heading_end(Tokenizer* self)
self->head = reset + best - 1;
}
else {
if (!after) {
return NULL;
}
for (i = 0; i < best; i++) {
if (Tokenizer_emit_char(self, '=')) {
Py_DECREF(after->title);


Chargement…
Annuler
Enregistrer