From: | "Inoue, Hiroshi" <h-inoue(at)dream(dot)email(dot)ne(dot)jp> |
---|---|
To: | martial(dot)guex(at)mutech(dot)ch |
Cc: | pgsql-odbc(at)postgresql(dot)org |
Subject: | Re: Patch to solve memory protect violation and clear __error_number after call CC_lookup_characterset |
Date: | 2020-03-24 08:19:03 |
Message-ID: | 152bdf12-5700-e640-3c75-eea299631129@dream.email.ne.jp |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-odbc |
Hello Martial,
The bugs were fixed in version 9.06.0500.
Please try the latest version(12.01.0000).
regards,
Hiroshi Inoue
On 2020/03/22 22:43, martial(dot)guex(at)mutech(dot)ch wrote:
> Hello,
>
> I have detected fatal memory error protection on call strdup
> connectio.c(1045) and wrong setting conn.__error_number on
> CC_lookup_lo when "select oid, typbasetype from pg_type where typname
> = 'lo'" doesn't return any record.
>
> I used this patch to solve the problem on debian stretch with
> odbc-postgresql:amd64 version 1:09.05.0400-2.
>
> --- psqlodbc-09.05.0400.orig/connection.c
> +++ psqlodbc-09.05.0400/connection.c
> @@ -1041,12 +1041,13 @@ CC_connect(ConnectionClass *self, char *
> if (retsend)
> retsend = CC_send_settings(self,
> GET_NAME(self->connInfo.conn_settings));
>
> - if (CC_get_errornumber(self) > 0)
> + if ((CC_get_errornumber(self) > 0) && (CC_get_errormsg(self) !=
> NULL))
> saverr = strdup(CC_get_errormsg(self));
> CC_clear_error(self); /* clear any error */
> CC_lookup_lo(self); /* a hack to get the oid of
> our large object oid type */
>
> + CC_clear_error(self); /* clear any error */
> /* Multibyte handling */
> CC_lookup_characterset(self);
> if (CC_get_errornumber(self) > 0)
>
> It's probably better to clear self.__error_number directly on
> CC_lookup_lo and when error_number is equal 110.
>
> Thank's for the job.
From | Date | Subject | |
---|---|---|---|
Next Message | Inoue, Hiroshi | 2020-03-25 00:57:08 | Re: How to fix psqlODBC driver regression to get error message details |
Previous Message | Andrus | 2020-03-22 14:30:27 | Re: How to fix psqlODBC driver regression to get error message details |