Fix KDB iteration when callback does write calls
authorGreg Hudson <ghudson@mit.edu>
Thu, 1 Mar 2012 20:49:17 +0000 (20:49 +0000)
committerGreg Hudson <ghudson@mit.edu>
Thu, 1 Mar 2012 20:49:17 +0000 (20:49 +0000)
commit4df31be8282f744201814493ebe0dbe92bcb8bcd
tree93a0c3257d79f687c4b17ae5f4a728f20864e508
parent4918001d76f26cbf663fbc362f7deb0365d99767
Fix KDB iteration when callback does write calls

kdb_db2's ctx_iterate makes an convenience alias to dbc->db in order
to call more invoke call the DB's seq method.  This alias may become
invalidated if the callback writes to the DB, since ctx_lock() may
re-open the DB in order to acquire a write lock.  Fix the bug by
getting rid of the convenience alias.

Most KDB iteration operations in the code base do not write to the DB,
but kdb5_util update_princ_encryption does.

Bug discovered and diagnosed by will.fiveash@oracle.com.

ticket: 7096
target_version: 1.10.1
tags: pullup

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25723 dc483132-0cff-0310-8789-dd5450dbe970
src/plugins/kdb/db2/kdb_db2.c