[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[COMMITTED] pkl-typify: fix memory leak in
From: |
Jose E. Marchesi |
Subject: |
[COMMITTED] pkl-typify: fix memory leak in |
Date: |
Sat, 21 Sep 2024 00:31:40 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
2024-09-21 Jose E. Marchesi <jemarch@gnu.org>
* libpoke/pkl-typify.c (pkl_typify1_ps_struct_type_field): Fix
memory leak.
---
ChangeLog | 5 +++++
libpoke/pkl-typify.c | 10 +++++-----
2 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index d09c69f7..a462817d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-09-21 Jose E. Marchesi <jemarch@gnu.org>
+
+ * libpoke/pkl-typify.c (pkl_typify1_ps_struct_type_field): Fix
+ memory leak.
+
2024-09-20 Jose E. Marchesi <jemarch@gnu.org>
* testsuite/poke.cmd/set-oacutoff-2.pk: Escape dots in regexps.
diff --git a/libpoke/pkl-typify.c b/libpoke/pkl-typify.c
index f09cf105..f40928c2 100644
--- a/libpoke/pkl-typify.c
+++ b/libpoke/pkl-typify.c
@@ -2954,6 +2954,7 @@ PKL_PHASE_BEGIN_HANDLER (pkl_typify1_ps_struct_type_field)
an offset<uint<64>,*>. */
if (elem_label)
{
+ int promoteable_p = 0;
pkl_ast_node label_type = PKL_AST_TYPE (elem_label);
pkl_ast_node offset_type
= pkl_ast_make_offset_type (PKL_PASS_AST,
@@ -2961,9 +2962,10 @@ PKL_PHASE_BEGIN_HANDLER
(pkl_typify1_ps_struct_type_field)
pkl_ast_make_integer (PKL_PASS_AST, 1),
NULL /* ref_type */);
-
- if (!pkl_ast_type_promoteable_p (label_type, offset_type,
- 1 /* promote_array_of_any */))
+ promoteable_p = pkl_ast_type_promoteable_p (label_type, offset_type,
+ 1 /* promote_array_of_any
*/);
+ offset_type = ASTREF (offset_type); pkl_ast_node_free (offset_type);
+ if (!promoteable_p)
{
char *type_str = pkl_type_str (label_type, 1);
@@ -2974,8 +2976,6 @@ PKL_PHASE_BEGIN_HANDLER (pkl_typify1_ps_struct_type_field)
free (type_str);
PKL_PASS_ERROR;
}
-
- offset_type = ASTREF (offset_type); pkl_ast_node_free (offset_type);
}
}
PKL_PHASE_END_HANDLER
--
2.30.2
- [COMMITTED] pkl-typify: fix memory leak in,
Jose E. Marchesi <=