summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormartinh <martinh@openbsd.org>2010-07-02 01:08:35 +0000
committermartinh <martinh@openbsd.org>2010-07-02 01:08:35 +0000
commitb09f546c2ccfa7677b40b6d4db08256d66e8668e (patch)
tree0c9ec6e635fbedef97dd208c8ba81f5d967c70c8
parentAbstraction clean-up. `I like it' deraadt@. (diff)
downloadwireguard-openbsd-b09f546c2ccfa7677b40b6d4db08256d66e8668e.tar.xz
wireguard-openbsd-b09f546c2ccfa7677b40b6d4db08256d66e8668e.zip
Plug a memory leak where each update leaked one page.
-rw-r--r--usr.sbin/ldapd/btree.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/usr.sbin/ldapd/btree.c b/usr.sbin/ldapd/btree.c
index 13644f4db92..127c24f6d2f 100644
--- a/usr.sbin/ldapd/btree.c
+++ b/usr.sbin/ldapd/btree.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: btree.c,v 1.20 2010/07/01 06:11:59 martinh Exp $ */
+/* $OpenBSD: btree.c,v 1.21 2010/07/02 01:08:35 martinh Exp $ */
/*
* Copyright (c) 2009, 2010 Martin Hedenfalk <martin@bzero.se>
@@ -944,6 +944,8 @@ btree_write_meta(struct btree *bt, pgno_t root, unsigned int flags)
bcopy(&bt->meta, meta, sizeof(*meta));
rc = write(bt->fd, mp->page, bt->head.psize);
+ mp->dirty = 0;
+ SIMPLEQ_REMOVE_HEAD(bt->txn->dirty_queue, next);
if (rc != (ssize_t)bt->head.psize) {
if (rc > 0)
DPRINTF("short write, filesystem full?");