Prevent shm_mq_send from reading uninitialized memory.

Robert Haas <rhaas@postgresql.org>

Commit: 1144ea3421e4bcc24dd7402a1f21ba94638d591b
Author: Robert Haas <rhaas@postgresql.org>
Date: 2014-07-24T13:23:22Z
Releases: 9.5.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