Uploaded image for project: 'Guacamole'
  1. Guacamole
  2. GUACAMOLE-324

Incorrect buffer used in socket write

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.0.0
    • Component/s: libguac
    • Labels:
      None

      Description

      Within the file descriptor implementation of guac_socket (and possibly elsewhere), the call to send() or write() uses the pointer which always points to the beginning of the buffer, rather than the pointer which is updated as chunks are written:

      https://github.com/apache/incubator-guacamole-server/blob/770a2805e4936aa73f17277a7ec6a762fdcc671a/src/libguac/socket-fd.c#L92-L118

      This will result in duplicate data being written if the first write does not succeed in writing absolutely everything, most likely resulting in invalid protocol data and a disconnect.

      Based on the fact that Guacamole works ... it seems this is rather unlikely in practice, but it should be fixed.

        Attachments

          Activity

            People

            • Assignee:
              mike.jumper Michael Jumper
              Reporter:
              mike.jumper Michael Jumper
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: