From 2c62d79bc914a6024afb842b56929df46660b50a Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 16 Aug 2010 11:46:19 +0200 Subject: Add pointer guard for naked pointer --- odb/mysql/source.cxx | 2 ++ odb/tracer/source.cxx | 2 ++ 2 files changed, 4 insertions(+) diff --git a/odb/mysql/source.cxx b/odb/mysql/source.cxx index a9f8a99..4854a68 100644 --- a/odb/mysql/source.cxx +++ b/odb/mysql/source.cxx @@ -911,8 +911,10 @@ namespace mysql << "{" << "pointer_type p (access::object_factory< " << type << " >::create ());" + << "pointer_traits< pointer_type >::guard g (p);" << "init (pointer_traits< pointer_type >::get_ref (p), " << "sts.image ());" + << "g.release ();" << "return p;" << "}" << "return pointer_type ();" diff --git a/odb/tracer/source.cxx b/odb/tracer/source.cxx index 696d707..77dfa7a 100644 --- a/odb/tracer/source.cxx +++ b/odb/tracer/source.cxx @@ -95,7 +95,9 @@ namespace tracer << endl << "pointer_type r (access::object_factory< " << type << " >::create ());" + << "pointer_traits< pointer_type >::guard g (r);" << "r->" << id.name () << " = id;" + << "g.release ();" << "return r;" << "}"; -- cgit v1.1