From: Alexandre Terrasa Date: Fri, 16 Oct 2015 15:10:05 +0000 (-0400) Subject: lib/mongodb: fix segfault in `Collection::find` method X-Git-Tag: v0.7.9~31^2 X-Git-Url: http://nitlanguage.org?hp=941110fe1b7c68f63f7179fc6bcfc0e5f38b798e lib/mongodb: fix segfault in `Collection::find` method Signed-off-by: Alexandre Terrasa --- 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