summaryrefslogtreecommitdiff
path: root/external/liblangtag
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2014-05-26 14:25:26 +0200
committerStephan Bergmann <sbergman@redhat.com>2014-05-26 14:25:26 +0200
commitf5d90767d199baeaf61706ecd52f29a34f96b62c (patch)
tree70ade38a8bcb562e4a7fb50f0533cd858e686b4a /external/liblangtag
parentd8f958a201a8c6320684ad2e03fd15dfba818520 (diff)
external/liblangtag: Fix memory leak
Change-Id: I7d58c1aad5ec21f14569caedbada56cc31a5ff99
Diffstat (limited to 'external/liblangtag')
-rw-r--r--external/liblangtag/UnpackedTarball_langtag.mk3
-rw-r--r--external/liblangtag/liblangtag-leak.patch.010
2 files changed, 13 insertions, 0 deletions
diff --git a/external/liblangtag/UnpackedTarball_langtag.mk b/external/liblangtag/UnpackedTarball_langtag.mk
index 90068cb3eac6..295136875e29 100644
--- a/external/liblangtag/UnpackedTarball_langtag.mk
+++ b/external/liblangtag/UnpackedTarball_langtag.mk
@@ -15,6 +15,8 @@ $(eval $(call gb_UnpackedTarball_set_pre_action,langtag,\
$(GNUTAR) -x -j -f $(gb_UnpackedTarget_TARFILE_LOCATION)/$(LANGTAGREG_TARBALL) \
))
+# external/liblangtag/liblangtag-leak.patch.0 upstream:
+# <https://bitbucket.org/tagoh/liblangtag/pull-request/8/fix-memory-leak/diff>
$(eval $(call gb_UnpackedTarball_add_patches,langtag,\
external/liblangtag/liblangtag-0.5.1-msvc-warning.patch \
external/liblangtag/liblangtag-0.5.1-vsnprintf.patch \
@@ -27,6 +29,7 @@ $(eval $(call gb_UnpackedTarball_add_patches,langtag,\
external/liblangtag/liblangtag-0.5.1-windows-do-not-prepend-dir-separator.patch \
external/liblangtag/liblangtag-0.5.1-unistd.patch \
external/liblangtag/liblangtag-0.5.1-include-last-record-in-language-subtag-registry.patch \
+ external/liblangtag/liblangtag-leak.patch.0 \
))
ifeq ($(OS),WNT)
diff --git a/external/liblangtag/liblangtag-leak.patch.0 b/external/liblangtag/liblangtag-leak.patch.0
new file mode 100644
index 000000000000..4a74d68aef26
--- /dev/null
+++ b/external/liblangtag/liblangtag-leak.patch.0
@@ -0,0 +1,10 @@
+--- liblangtag/lt-tag.c
++++ liblangtag/lt-tag.c
+@@ -1408,6 +1408,7 @@
+ lt_variant_ref(lt_list_value(l)),
+ (lt_destroy_func_t)lt_variant_unref);
+ }
++ lt_mem_add_ref(&retval->parent, retval->variants, lt_list_free);
+ }
+ if (tag->extension) {
+ lt_tag_set_extension(retval, lt_extension_copy(tag->extension));