diff options
author | 2010-07-02 01:08:35 +0000 | |
---|---|---|
committer | 2010-07-02 01:08:35 +0000 | |
commit | b09f546c2ccfa7677b40b6d4db08256d66e8668e (patch) | |
tree | 0c9ec6e635fbedef97dd208c8ba81f5d967c70c8 | |
parent | Abstraction clean-up. `I like it' deraadt@. (diff) | |
download | wireguard-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.c | 4 |
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?"); |