Bug in writeTimeLineHistory

From: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Bug in writeTimeLineHistory
Date: 2010-10-14 05:11:31
Message-ID: AANLkTi=hkcMwdLC1hyn9kZ4w1EawNOFbk360mRjmDoH4@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

--------------
if (recoveryTarget == RECOVERY_TARGET_XID)
snprintf(buffer, sizeof(buffer),
"%s%u\t%s\t%s transaction %u\n",
(srcfd < 0) ? "" : "\n",
parentTLI,
xlogfname,
recoveryStopAfter ? "after" : "before",
recoveryStopXid);
if (recoveryTarget == RECOVERY_TARGET_TIME)
snprintf(buffer, sizeof(buffer),
"%s%u\t%s\t%s %s\n",
(srcfd < 0) ? "" : "\n",
parentTLI,
xlogfname,
recoveryStopAfter ? "after" : "before",
timestamptz_to_str(recoveryStopTime));
else
snprintf(buffer, sizeof(buffer),
"%s%u\t%s\tno recovery target specified\n",
(srcfd < 0) ? "" : "\n",
parentTLI,
xlogfname);
--------------

In writeTimeLineHistory, the result of the above first snprintf is always
overwritten by the following snprintf wrongly. I guess we forgot putting
"else" in the second "if" statement. I attached the very simple patch.

Since this bug was introduced in v9.0, the patch needs to be backported
to 9.0.

Regards,

--
Fujii Masao
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center

Attachment Content-Type Size
add_else_v1.patch application/octet-stream 668 bytes

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Magnus Hagander 2010-10-14 05:30:36 Re: duplicate connection failure messages
Previous Message Pavel Stehule 2010-10-14 04:53:57 Re: wip: functions median and percentile