Mike Jumper created GUACAMOLE-2241:
--------------------------------------
Summary: guac_display_plan_create() may loop indefinitely
Key: GUACAMOLE-2241
URL: https://issues.apache.org/jira/browse/GUACAMOLE-2241
Project: Guacamole
Issue Type: Bug
Affects Versions: 1.6.0
Reporter: Mike Jumper
As [reported on the user@
list|https://lists.apache.org/thread/b8758cw4nxllqvfx78f2fr1r454mkry3]:
{quote}
... at the function {{PFW_LFR_guac_display_plan_create}}
https://github.com/apache/guacamole-server/blob/772a65a3334f7ded6d43cbe5e2ed347040a1fb52/src/libguac/display-plan.c#L157
...
Can there be a case where the buffers of the layers of display might already
have been set to NULL and it enters this function because of which, it will
keep on looping after checking this if condition,
{code:c}
if (current->pending_frame.buffer == NULL) {
GUAC_ASSERT(current->pending_frame.buffer_is_external);
continue;
}
{code}
{quote}
This is indeed a bug. The current pointer needs to be advanced before
continuing:
{code:c}
if (current->pending_frame.buffer == NULL) {
GUAC_ASSERT(current->pending_frame.buffer_is_external);
current = current->pending_frame.next;
continue;
}
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)