]> git.ipfire.org Git - thirdparty/openldap.git/commitdiff
ITS#10346 lmdb: fix compacting copy with large values
authorMike Moritz <mike.moritz@vertex.link>
Wed, 28 May 2025 23:11:38 +0000 (23:11 +0000)
committerHoward Chu <hyc@openldap.org>
Tue, 10 Jun 2025 19:56:20 +0000 (20:56 +0100)
libraries/liblmdb/mdb.c

index eaf3a2d99b52f49a6e8d98aaadc4ae5199e03211..b8746bc6c404ad78e48fbd5dab4c05903f16eb8d 100644 (file)
@@ -10895,8 +10895,8 @@ typedef struct mdb_copy {
        pthread_cond_t mc_cond; /**< Condition variable for #mc_new */
        char *mc_wbuf[2];
        char *mc_over[2];
-       int mc_wlen[2];
-       int mc_olen[2];
+       size_t mc_wlen[2];
+       size_t mc_olen[2];
        pgno_t mc_next_pgno;
        HANDLE mc_fd;
        int mc_toggle;                  /**< Buffer number in provider */
@@ -10913,7 +10913,8 @@ mdb_env_copythr(void *arg)
 {
        mdb_copy *my = arg;
        char *ptr;
-       int toggle = 0, wsize, rc;
+       int toggle = 0, rc;
+       size_t wsize;
 #ifdef _WIN32
        DWORD len;
 #define DO_WRITE(rc, fd, ptr, w2, len) rc = WriteFile(fd, ptr, w2, &len, NULL)