Re: Possible bug in ServerErrorMessage.java

From: Maciek Sakrejda <msakrejda(at)truviso(dot)com>
To: Dave Cramer <pg(at)fastcrypt(dot)com>
Cc: Fedechicco <fedechicco(at)gmail(dot)com>, pgsql-jdbc(at)postgresql(dot)org
Subject: Re: Possible bug in ServerErrorMessage.java
Date: 2012-04-27 06:25:55
Message-ID: CAH_hXRbsLzYBex1AdD+UW1bZdQCkoKTYf5e7_pOSNSTSytH6eQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

> From what I've seen the line 48 and the following are:
>
> while (l_chars[l_pos] != '\0' && l_pos < l_length)
> {
> l_pos++;
> }
>
> which IMO should be changed in:
> while (l_pos < l_length && l_chars[l_pos] != '\0')

This seems to be the code in question, to decode the wire ErrorResponse message:

https://github.com/pgjdbc/pgjdbc/blob/master/org/postgresql/util/ServerErrorMessage.java#L32

Although what you suggested would be more defensive coding, if you
look at the message specification [1], I believe the current code
*should* process any well-formed ErrorResponse message correctly. As
Dave asked, is this consistently reproducible? Also, are you in a
position to make the change you suggested, rebuild the driver, and
retry it yourself? If so, do you get a different message?

[1]: http://www.postgresql.org/docs/9.1/static/protocol-message-formats.html
---
Maciek Sakrejda | System Architect | Truviso

1065 E. Hillsdale Blvd., Suite 215
Foster City, CA 94404
(650) 242-3500 Main
www.truviso.com

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Fedechicco 2012-04-27 07:48:57 Re: Possible bug in ServerErrorMessage.java
Previous Message Dave Cramer 2012-04-27 00:43:41 Re: Possible bug in ServerErrorMessage.java