Prevent shm_mq_send from reading uninitialized memory.

Robert Haas <rhaas@postgresql.org>

Commit: df58a17df29f7ec0ffc8389deee46e81a2a58a60
Author: Robert Haas <rhaas@postgresql.org>
Date: 2014-07-24T13:19:50Z
Releases: 9.4.0
Prevent shm_mq_send from reading uninitialized memory.

shm_mq_send_bytes didn't invariably initialize *bytes_written before
returning, which would cause shm_mq_send to read from uninitialized
memory and add the value it found there to mqh->mqh_partial_bytes.
This could cause the next attempt to send a message via the queue to
fail an assertion (if the queue was detached) or copy data from a
garbage pointer value into the queue (if non-blocking mode was in use).

Files

PathChange+/−
src/backend/storage/ipc/shm_mq.c modified +7 −0