Skip to content

Commit dc4407f

Browse files
committed
Fix possible corruption of previous pointer in ipp_t linked list.
1 parent 398fc2c commit dc4407f

2 files changed

Lines changed: 3 additions & 2 deletions

File tree

CHANGES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Changes in CUPS v2.4.17 (YYYY-MM-DD)
88
- The scheduler followed symbolic links when cleaning out its temporary
99
directory (Issue #1448)
1010
- Fixed possible use-after-free in `cupsdReadClient()` (Issue #1454)
11+
- Fixed a bug when then `ippFindXxx` and `ippSetXxx` functions were mixed.
1112

1213

1314
Changes in CUPS v2.4.16 (2025-12-04)

cups/ipp.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/*
22
* Internet Printing Protocol functions for CUPS.
33
*
4-
* Copyright © 2022-2025 by OpenPrinting.
4+
* Copyright © 2022-2026 by OpenPrinting.
55
* Copyright © 2007-2021 by Apple Inc.
66
* Copyright © 1997-2007 by Easy Software Products, all rights reserved.
77
*
@@ -6780,7 +6780,7 @@ ipp_set_value(ipp_t *ipp, /* IO - IPP message */
67806780
#endif /* !__clang_analyzer__ */
67816781
DEBUG_printf(("4debug_alloc: %p %s %s%s (%d)", (void *)temp, temp->name, temp->num_values > 1 ? "1setOf " : "", ippTagString(temp->value_tag), temp->num_values));
67826782

6783-
if (ipp->current == *attr && ipp->prev)
6783+
if (ipp->current == *attr && ipp->prev && ipp->prev->next == *attr)
67846784
{
67856785
/*
67866786
* Use current "previous" pointer...

0 commit comments

Comments
 (0)