]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Fix partial read handling in pg_upgrade's multixact conversion
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Sun, 4 Jan 2026 18:04:36 +0000 (20:04 +0200)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Sun, 4 Jan 2026 18:04:36 +0000 (20:04 +0200)
Author: Man Zeng <zengman@halodbtech.com>
Discussion: https://www.postgresql.org/message-id/tencent_566562B52163DB1502F4F7A4@qq.com

src/bin/pg_upgrade/slru_io.c

index adb3e11ab2e3ec65b44d81cfae96610841d9feab..ae3e224d7b124ed2175abce7c78c4f575d912160 100644 (file)
@@ -121,7 +121,7 @@ SlruReadSwitchPageSlow(SlruSegState *state, uint64 pageno)
                ssize_t         rc;
 
                rc = pg_pread(state->fd,
-                                         &state->buf.data + bytes_read,
+                                         &state->buf.data[bytes_read],
                                          BLCKSZ - bytes_read,
                                          offset);
                if (rc < 0)
@@ -135,7 +135,7 @@ SlruReadSwitchPageSlow(SlruSegState *state, uint64 pageno)
                        /* unexpected EOF */
                        pg_log(PG_WARNING, "unexpected EOF reading file \"%s\" at offset %u, reading as zeros",
                                   state->fn, (unsigned int) offset);
-                       memset(&state->buf.data + bytes_read, 0, BLCKSZ - bytes_read);
+                       memset(&state->buf.data[bytes_read], 0, BLCKSZ - bytes_read);
                        break;
                }
                bytes_read += rc;