Skip to content

Conversation

@bt-life
Copy link

@bt-life bt-life commented Jan 17, 2026

If the ipp_set_value() function has previously called the ippFindAttribute() function, since ippFindAttribute modifies the ipp->prev pointer, causing prev to point to another attr, it results in the truncation of the ipp->attrs linked list.

Modify the ipp_set_value function to the following idempotent code to reproduce this bug:
image

Copy link
Member

@michaelrsweet michaelrsweet left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can keep the optimization by making it a little smarter by checking whether ipp->prev->next == ipp->current. But good catch!

@bt-life bt-life closed this Jan 19, 2026
@michaelrsweet michaelrsweet reopened this Jan 19, 2026
@michaelrsweet
Copy link
Member

Keeping this open to track the eventual fix (here and in CUPS 2.x).

@michaelrsweet michaelrsweet self-assigned this Jan 19, 2026
@michaelrsweet michaelrsweet added bug Something isn't working priority-low labels Jan 19, 2026
@michaelrsweet michaelrsweet added this to the Stable milestone Jan 19, 2026
@michaelrsweet
Copy link
Member

[master adb1863] Fix possible corruption of previous pointer in ipp_t linked list (Issue #138)

and the related changes in the CUPS project:

[master 6c7d9bbab] Fix possible corruption of previous pointer in ipp_t linked list (Issue #138)

[2.4.x dc4407f51] Fix possible corruption of previous pointer in ipp_t linked list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working priority-low

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants