summaryrefslogtreecommitdiff
path: root/src/glibext/linesegment.c
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-12-08 11:06:17 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-12-08 11:06:17 (GMT)
commit3ad8e821ec6a6e8408a9fc737b385aa863c67123 (patch)
tree078e95ac23aabe0762d9a48746f363bf7bd91600 /src/glibext/linesegment.c
parentf36b525987442d46c920f76dced29356663ae85b (diff)
Fixed one UAF when dealing with line text segments.
Diffstat (limited to 'src/glibext/linesegment.c')
-rw-r--r--src/glibext/linesegment.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/glibext/linesegment.c b/src/glibext/linesegment.c
index dc4a128..557dff2 100644
--- a/src/glibext/linesegment.c
+++ b/src/glibext/linesegment.c
@@ -466,6 +466,25 @@ line_segment *get_new_line_segment(RenderingTagType type, const char *text, size
/******************************************************************************
* *
+* Paramètres : segment = fragment de texte à traiter. *
+* *
+* Description : Augmente le compteur de références d'un fragment de texte. *
+* *
+* Retour : - *
+* *
+* Remarques : - *
+* *
+******************************************************************************/
+
+void ref_line_segment(line_segment *segment)
+{
+ segment->ref_count++;
+
+}
+
+
+/******************************************************************************
+* *
* Paramètres : segment = fragment de texte à libérer de la mémoire. *
* *
* Description : Retire une utilisation à un fragment de texte. *
@@ -1037,7 +1056,7 @@ bool add_segment_content_to_selection_list(segcnt_list *list, const line_segment
if (result)
{
- list->hashes = (fnv64_t *)realloc(list->hashes, ++list->count * sizeof(fnv64_t));
+ list->hashes = realloc(list->hashes, ++list->count * sizeof(fnv64_t));
list->hashes[list->count - 1] = segment->hash;