Revision b010cec8

b/spice-qemu-char.c
14 14
    char                  *subtype;
15 15
    bool                  active;
16 16
    bool                  blocked;
17
    uint8_t               *buffer;
18
    uint8_t               *datapos;
19
    ssize_t               bufsize, datalen;
17
    const uint8_t         *datapos;
18
    int                   datalen;
20 19
    QLIST_ENTRY(SpiceCharDriver) next;
21 20
} SpiceCharDriver;
22 21

  
......
186 185
    int read_bytes;
187 186

  
188 187
    assert(s->datalen == 0);
189
    if (s->bufsize < len) {
190
        s->bufsize = len;
191
        s->buffer = g_realloc(s->buffer, s->bufsize);
192
    }
193
    memcpy(s->buffer, buf, len);
194
    s->datapos = s->buffer;
188
    s->datapos = buf;
195 189
    s->datalen = len;
196 190
    spice_server_char_device_wakeup(&s->sin);
197 191
    read_bytes = len - s->datalen;

Also available in: Unified diff