Re: Fix incorrect assignment of InvalidXLogRecPtr to a non-LSN variable.

Xuneng Zhou <xunengzhou@gmail.com>

From: Xuneng Zhou <xunengzhou@gmail.com>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-11-12T09:14:39Z
Lists: pgsql-hackers
Hi,

On Wed, Nov 12, 2025 at 4:23 PM Fujii Masao <masao.fujii@gmail.com> wrote:
>
> Hi,
>
> I noticed that pg_logical_slot_get_changes_guts() assigns InvalidXLogRecPtr
> to the local variable upto_nchanges, even though it's not LSN variable
> (i.e., its type is int32, not XLogRecPtr). While this causes no functional issue
> since InvalidXLogRecPtr is defined as 0, it's semantically incorrect.
>
> I propose fixing this by setting upto_nchanges to 0 instead of
> InvalidXLogRecPtr.
> Attached is a patch implementing this change.
>
> Regards,
>
> --
> Fujii Masao

Good catch! I checked that no other similar misuses of
InvalidXLogRecPtr assigned to non-LSN variables were found in
logicalfuncs.c.

-- 
Best,
Xuneng



Commits

  1. Fix incorrect assignment of InvalidXLogRecPtr to a non-LSN variable.