]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#8819 can't use fakepage mp_ptrs directly
authorHoward Chu <hyc@openldap.org>
Tue, 20 Mar 2018 18:34:56 +0000 (18:34 +0000)
committerHoward Chu <hyc@openldap.org>
Sat, 10 Oct 2020 12:12:59 +0000 (13:12 +0100)
libraries/liblmdb/mdb.c

index fd7c76f2e0f48b9beaba736277fba359ebd34a86..272ac76d2f3aa54d28f9dcc39f1af48d3a7c3690 100644 (file)
@@ -8198,8 +8198,9 @@ prep_subDB:
                                } else {
                                        memcpy((char *)mp + mp->mp_upper + PAGEBASE, (char *)fp + fp->mp_upper + PAGEBASE,
                                                olddata.mv_size - fp->mp_upper - PAGEBASE);
+                                       memcpy((char *)(&mp->mp_ptrs), (char *)(&fp->mp_ptrs), NUMKEYS(fp) * sizeof(mp->mp_ptrs[0]));
                                        for (i=0; i<NUMKEYS(fp); i++)
-                                               mp->mp_ptrs[i] = fp->mp_ptrs[i] + offset;
+                                               mp->mp_ptrs[i] += offset;
                                }
                        }