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)

Reply via email to