Skip to content

Fix context leak in cms_transform_extended_fuzzer#15076

Open
OwenSanzas wants to merge 1 commit intogoogle:masterfrom
OwenSanzas:fix-lcms-transform-extended
Open

Fix context leak in cms_transform_extended_fuzzer#15076
OwenSanzas wants to merge 1 commit intogoogle:masterfrom
OwenSanzas:fix-lcms-transform-extended

Conversation

@OwenSanzas
Copy link
Contributor

Fixes #15072

Summary

Add missing cmsDeleteContext(ctx) calls on both the error path (transform creation failure) and the normal exit path in cms_transform_extended_fuzzer.c.

Changes

  • Add cmsDeleteContext(ctx) when cmsCreateTransformTHR fails (line 118-121)
  • Add cmsDeleteContext(ctx) after cmsDeleteTransform on normal exit (line 156)

Impact

Without the fix, every fuzzer iteration leaks a context into lcms2's global linked list, causing unbounded memory growth (~600 bytes/iteration) and O(n) performance degradation in _cmsGetContext().

cmsCreateContext is called at line 106 but cmsDeleteContext is never
called on any code path. This leaks a context on every fuzzer iteration,
causing unbounded memory growth and O(n) performance degradation in
lcms2's internal context linked list.

Fix: add cmsDeleteContext(ctx) on both the error path (transform
creation failure) and the normal exit path.
@google-cla
Copy link

google-cla bot commented Mar 5, 2026

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@github-actions
Copy link

github-actions bot commented Mar 5, 2026

OwenSanzas is a new contributor to projects/lcms. The PR must be approved by known contributors before it can be merged. The past contributors are: hunsche, zzjas, viktoriia-lsg, rjotwani, cvediver, Dor1s, inferno-chromium (unverified)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[lcms] Fix context leak in cms_transform_extended_fuzzer

1 participant