| From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
|---|---|
| To: | Chapman Flack <chap(at)anastigmatix(dot)net> |
| Cc: | Aleksander Alekseev <a(dot)alekseev(at)postgrespro(dot)ru>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Re: Re: PROPOSAL: make PostgreSQL sanitizers-friendly (and prevent information disclosure) |
| Date: | 2016-03-21 19:05:20 |
| Message-ID: | 28603.1458587120@sss.pgh.pa.us |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Chapman Flack <chap(at)anastigmatix(dot)net> writes:
> On 03/21/2016 10:21 AM, Aleksander Alekseev wrote:
>> Well in this case here is a patch that fixes "use of uninitialized
>> value" reports by MemorySanitizer I managed to catch so far.
> I'm new here so someone more experienced would have to weigh in,
> but I would wonder a couple of things:
> a. whether a braced struct assignment is supported in every
> C compiler that PostgreSQL still intends to support
We rely on struct assignment to work already; although I'm not sure
we should expect it to be efficient, so we might not want to use it
in performance-critical places.
> b. whether such a struct assignment is guaranteed to initialize
> padding spaces as well as declared fields (in all supported
> C versions/compilers).
I think this is a valid concern; my recollection is that the C standard
defines struct assignment as "assign each member".
> It's possible that memset() would be more convincing.
+1
regards, tom lane
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2016-03-21 19:11:21 | Re: Request - repeat value of \pset title during \watch interations |
| Previous Message | Tom Lane | 2016-03-21 19:01:48 | Re: pgbench - allow backslash-continuations in custom scripts |