[ https://issues.apache.org/jira/browse/GUACAMOLE-608?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Michael Jumper reopened GUACAMOLE-608: -------------------------------------- > Daemon process may encounter dead loop > -------------------------------------- > > Key: GUACAMOLE-608 > URL: https://issues.apache.org/jira/browse/GUACAMOLE-608 > Project: Guacamole > Issue Type: Bug > Components: guacd > Affects Versions: 0.9.14, 1.0.0 > Reporter: Changkun Ou > Priority: Minor > > {{guacd}} involves a {{__write_all}} function to write instruction as much as > possible, see > https://github.com/apache/guacamole-server/blob/7c191d7be0441a1cb64c90ab62d6535f3798eacb/src/guacd/connection.c#L67 > However system call {{write}} may return 0 and set {{errno}}, which is not > verified in the function. > A possible case: {{write}} keeps return 0 and nothing writes to buffer, > therefore the daemon process encounters a dead loop, furthermore, it leads > CPU rate up to 99%. > A possible fix is: > {code:none} > int written = write(fd, buffer, length); > if (written < 0 || errno > 0) > return -1; > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)