Fix refcounts for Perl global error objects Err_set_error takes a decremented argument. Err_get_error returns a non-incremented object.
Project: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/commit/25b872f1 Tree: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/tree/25b872f1 Diff: http://git-wip-us.apache.org/repos/asf/lucy-clownfish/diff/25b872f1 Branch: refs/heads/master Commit: 25b872f1a6019f75d8cc139171b410a1d74ff01b Parents: 5c6d740 Author: Nick Wellnhofer <[email protected]> Authored: Thu Feb 23 15:00:54 2017 +0100 Committer: Nick Wellnhofer <[email protected]> Committed: Thu Feb 23 15:00:54 2017 +0100 ---------------------------------------------------------------------- runtime/perl/xs/XSBind.c | 2 ++ 1 file changed, 2 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy-clownfish/blob/25b872f1/runtime/perl/xs/XSBind.c ---------------------------------------------------------------------- diff --git a/runtime/perl/xs/XSBind.c b/runtime/perl/xs/XSBind.c index b566f8d..ffc5d20 100644 --- a/runtime/perl/xs/XSBind.c +++ b/runtime/perl/xs/XSBind.c @@ -884,6 +884,7 @@ cfish_Err_get_error() { PUTBACK; FREETMPS; LEAVE; + CFISH_DECREF(error); return error; } @@ -906,6 +907,7 @@ cfish_Err_set_error(cfish_Err *error) { call_pv("Clownfish::Err::set_error", G_VOID | G_DISCARD); FREETMPS; LEAVE; + CFISH_DECREF(error); } void
