summaryrefslogtreecommitdiff
path: root/src/db/db_rec.c
diff options
context:
space:
mode:
authorLorry Tar Creator <lorry-tar-importer@baserock.org>2015-02-17 17:25:57 +0000
committer <>2015-03-17 16:26:24 +0000
commit780b92ada9afcf1d58085a83a0b9e6bc982203d1 (patch)
tree598f8b9fa431b228d29897e798de4ac0c1d3d970 /src/db/db_rec.c
parent7a2660ba9cc2dc03a69ddfcfd95369395cc87444 (diff)
downloadberkeleydb-master.tar.gz
Imported from /home/lorry/working-area/delta_berkeleydb/db-6.1.23.tar.gz.HEADdb-6.1.23master
Diffstat (limited to 'src/db/db_rec.c')
-rw-r--r--src/db/db_rec.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/db/db_rec.c b/src/db/db_rec.c
index 8ba1124e..98b29b22 100644
--- a/src/db/db_rec.c
+++ b/src/db/db_rec.c
@@ -1,7 +1,7 @@
/*-
* See the file LICENSE for redistribution information.
*
- * Copyright (c) 1996, 2012 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2015 Oracle and/or its affiliates. All rights reserved.
*
* $Id$
*/
@@ -1194,8 +1194,9 @@ __db_pg_init_recover(env, dbtp, lsnp, op, info)
DB_LSN copy_lsn;
DB_MPOOLFILE *mpf;
PAGE *pagep;
- int cmp_n, cmp_p, ret, type;
+ int cmp_n, cmp_p, ret, t_ret, type;
+ pagep = NULL;
ip = ((DB_TXNHEAD *)info)->thread_info;
REC_PRINT(__db_pg_init_print);
REC_INTRO(__db_pg_init_read, ip, 0);
@@ -1247,11 +1248,12 @@ __db_pg_init_recover(env, dbtp, lsnp, op, info)
memcpy((u_int8_t*)pagep + HOFFSET(pagep),
argp->data.data, argp->data.size);
}
- if ((ret = __memp_fput(mpf, ip, pagep, file_dbp->priority)) != 0)
- goto out;
done: *lsnp = argp->prev_lsn;
out:
+ if (pagep != NULL && (t_ret =
+ __memp_fput(mpf, ip, pagep, file_dbp->priority)) != 0 && ret == 0)
+ ret = t_ret;
REC_CLOSE;
}