]> git.sur5r.net Git - openldap/commitdiff
mdb_env_set_flags(): Reject CHANGELESS flags.
authorHallvard Furuseth <hallvard@openldap.org>
Wed, 14 Jan 2015 07:12:50 +0000 (08:12 +0100)
committerHallvard Furuseth <hallvard@openldap.org>
Wed, 14 Jan 2015 07:12:50 +0000 (08:12 +0100)
Reverts part of a2ac10107e2fb845c4a38a339239063ec4407d84.
MDB_ROBUST needed to be accepted, but that flag is gone.

libraries/liblmdb/lmdb.h
libraries/liblmdb/mdb.c

index ebfbc5dc82c30e83e0c862e60359aa48603164dd..e95fff344b6d7bd1cabf220867f44a7deb04f0b6 100644 (file)
@@ -736,7 +736,6 @@ void mdb_env_close(MDB_env *env);
         * This may be used to set some flags in addition to those from
         * #mdb_env_open(), or to unset these flags.  If several threads
         * change the flags at the same time, the result is undefined.
-        * Most flags cannot be changed after #mdb_env_open().
         * @param[in] env An environment handle returned by #mdb_env_create()
         * @param[in] flags The flags to change, bitwise OR'ed together
         * @param[in] onoff A non-zero value sets the flags, zero clears them.
index c4dc269037a8de205bc5250874cbd63b0ee5465b..e2aa170357c1ef84e4550dbe79dbc812c9f2532d 100644 (file)
@@ -9001,7 +9001,7 @@ mdb_env_copy(MDB_env *env, const char *path)
 int ESECT
 mdb_env_set_flags(MDB_env *env, unsigned int flag, int onoff)
 {
-       if (flag & (env->me_map ? ~CHANGEABLE : ~(CHANGEABLE|CHANGELESS)))
+       if ((flag & CHANGEABLE) != flag)
                return EINVAL;
        if (onoff)
                env->me_flags |= flag;