[
https://issues.apache.org/jira/browse/GUACAMOLE-2241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mike Jumper reassigned GUACAMOLE-2241:
--------------------------------------
Assignee: Mike Jumper
> 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
> Assignee: Mike Jumper
> Priority: Major
>
> 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)