From 8babd4f9a9f1b96dec408dbf431cb180ac12eedb Mon Sep 17 00:00:00 2001 From: Jian Weihang Date: Sat, 30 Sep 2017 13:08:29 +0800 Subject: [PATCH] fix: free codepoints before returning to prevent memory leak --- ext/jaro_winkler/jaro_winkler.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ext/jaro_winkler/jaro_winkler.c b/ext/jaro_winkler/jaro_winkler.c index ba84eba..4194597 100644 --- a/ext/jaro_winkler/jaro_winkler.c +++ b/ext/jaro_winkler/jaro_winkler.c @@ -54,8 +54,11 @@ VALUE distance(size_t argc, VALUE *argv, VALUE self, c_opt.adj_table = (TYPE(adj_table) == T_FALSE || NIL_P(adj_table)) ? 0 : 1; } - return rb_float_new( + VALUE ret = rb_float_new( (*distance_fn)(cp1.data, cp1.length, cp2.data, cp2.length, &c_opt)); + codepoints_free(&cp1); + codepoints_free(&cp2); + return ret; } VALUE rb_jaro_distance(size_t argc, VALUE *argv, VALUE self) {