On Wed, Jun 14, 2017 at 08:54:13AM +0100, Frediano Ziglio wrote: > buffer_pos was just the buffer size beside for a short time > during buffer reallocation so just use a field. > > Change suggested by Christophe Fergeau. I have a local patch removing RedsClientMonitorsConfig altogether in favour of SpiceBuffer which would address this as well, but it's on top of other conflicting patches, I'll try to rebase it and send it as an alternative to this patch. Christophe > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx> > --- > server/reds-private.h | 1 - > server/reds.c | 9 ++++----- > 2 files changed, 4 insertions(+), 6 deletions(-) > > diff --git a/server/reds-private.h b/server/reds-private.h > index 915bcf6..7e927fe 100644 > --- a/server/reds-private.h > +++ b/server/reds-private.h > @@ -64,7 +64,6 @@ typedef struct RedsMigTargetClient { > typedef struct RedsClientMonitorsConfig { > uint8_t *buffer; > int buffer_size; > - int buffer_pos; > } RedsClientMonitorsConfig; > > typedef struct ChannelSecurityOptions ChannelSecurityOptions; > diff --git a/server/reds.c b/server/reds.c > index 09b674d..8866c9d 100644 > --- a/server/reds.c > +++ b/server/reds.c > @@ -1106,7 +1106,7 @@ static void reds_client_monitors_config_cleanup(RedsState *reds) > { > RedsClientMonitorsConfig *cmc = &reds->client_monitors_config; > > - cmc->buffer_size = cmc->buffer_pos = 0; > + cmc->buffer_size = 0; > free(cmc->buffer); > cmc->buffer = NULL; > } > @@ -1118,11 +1118,10 @@ static void reds_on_main_agent_monitors_config(RedsState *reds, > VDAgentMonitorsConfig *monitors_config; > RedsClientMonitorsConfig *cmc = &reds->client_monitors_config; > > - cmc->buffer_size += size; > - cmc->buffer = realloc(cmc->buffer, cmc->buffer_size); > + cmc->buffer = realloc(cmc->buffer, cmc->buffer_size + size); > spice_assert(cmc->buffer); > - memcpy(cmc->buffer + cmc->buffer_pos, message, size); > - cmc->buffer_pos += size; > + memcpy(cmc->buffer + cmc->buffer_size, message, size); > + cmc->buffer_size += size; > msg_header = (VDAgentMessage *)cmc->buffer; > if (sizeof(VDAgentMessage) > cmc->buffer_size || > msg_header->size > cmc->buffer_size - sizeof(VDAgentMessage)) { > -- > 2.9.4 > > _______________________________________________ > Spice-devel mailing list > Spice-devel@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/spice-devel
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel