[vala/0.50] codegen: Don't leak array memory after it was implicitly copied
- From: Rico Tzschichholz <ricotz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [vala/0.50] codegen: Don't leak array memory after it was implicitly copied
- Date: Sun, 28 Feb 2021 08:58:22 +0000 (UTC)
commit f23e8cbb3d9dd27cce2ef305c64f44f9d0dde123
Author: Rico Tzschichholz <ricotz ubuntu com>
Date: Tue Feb 2 10:34:54 2021 +0100
codegen: Don't leak array memory after it was implicitly copied
Found by -fsanitize=address
codegen/valaccodebasemodule.vala | 5 +++++
1 file changed, 5 insertions(+)
---
diff --git a/codegen/valaccodebasemodule.vala b/codegen/valaccodebasemodule.vala
index 6f4eeb8d4..795c5c5ea 100644
--- a/codegen/valaccodebasemodule.vala
+++ b/codegen/valaccodebasemodule.vala
@@ -6148,6 +6148,11 @@ public abstract class Vala.CCodeBaseModule : CodeGenerator {
Report.error (node.source_reference, "missing class prerequisite for
interface `%s', add GLib.Object to interface declaration if unsure".printf
(target_type.type_symbol.get_full_name ()));
return result;
}
+ // need to free old array after copying it
+ if (array_needs_copy && requires_destroy (type)) {
+ result.value_type = type.copy ();
+ ccode.add_expression (destroy_value (result));
+ }
result = copy;
// implicit array copying is deprecated, but allow it for internal codegen usage
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]