From bc156ed2b2d0c31614a79af05156f02135f4fda7 Mon Sep 17 00:00:00 2001
From: Boris Kolpackov <boris@codesynthesis.com>
Date: Tue, 12 Feb 2013 19:19:44 +0200
Subject: Don't use uninitialized iterator on the rhs of assignment

---
 odb/session.hxx | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/odb/session.hxx b/odb/session.hxx
index 5556211..3ceeb8d 100644
--- a/odb/session.hxx
+++ b/odb/session.hxx
@@ -146,6 +146,17 @@ namespace odb
       cache_position (): map_ (0) {}
       cache_position (map& m, const iterator& p): map_ (&m), pos_ (p) {}
 
+      cache_position&
+      operator= (const cache_position& p)
+      {
+        // It might not be ok to use an uninitialized iterator on the rhs.
+        //
+        if (p.map_ != 0)
+          pos_ = p.pos_;
+        map_ = p.map_;
+        return *this;
+      }
+
       map* map_;
       iterator pos_;
     };
-- 
cgit v1.1