From 668a80fbeda2882cd5468bf3c92d0f91d1f91c57 Mon Sep 17 00:00:00 2001 From: Alexandre Terrasa Date: Fri, 16 Oct 2015 11:10:05 -0400 Subject: [PATCH] lib/mongodb: fix segfault in `Collection::find` method Signed-off-by: Alexandre Terrasa --- lib/mongodb/mongodb.nit | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/mongodb/mongodb.nit b/lib/mongodb/mongodb.nit index 416e36b..624dc8a 100644 --- a/lib/mongodb/mongodb.nit +++ b/lib/mongodb/mongodb.nit @@ -600,8 +600,9 @@ class MongoCollection # ~~~ fun find(query: JsonObject): nullable JsonObject do assert is_alive - var c = native.find(query.to_bson.native) - assert is_alive # FIXME used to avoid segfault (so `self` isn't garbage collected to soon) + var q = new NativeBSON.from_json_string(query.to_json.to_cstring) + var c = native.find(q) + q.destroy if c == null then return null var cursor = new MongoCursor(c) if cursor.is_ok then return cursor.item -- 1.7.9.5