New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 721488 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Direct-leak in pdfium::internal::MakeUniqueResult<GifImage>::Scalar pdfium::MakeUnique<GifImage

Project Member Reported by ClusterFuzz, May 11 2017

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=4869621240037376

Fuzzer: libfuzzer_pdf_codec_gif_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Direct-leak
Crash Address: 
Crash State:
  pdfium::internal::MakeUniqueResult<GifImage>::Scalar pdfium::MakeUnique<GifImage
  gif_decode_image_info
  gif_get_frame
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=470879:470905

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=4869621240037376


Issue filed automatically.

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.
 
Cc: msrchandra@chromium.org
Labels: M-60 Test-Predator-Correct-CLs
Owner: npm@chromium.org
Status: Assigned (was: Untriaged)
Assigning to the concern owner from Predator results --
The result is a list of CLs that change the crashed files. 

Author: Nicolas Pena
Project: chromium-pdfium
Changelist: https://pdfium.googlesource.com/pdfium.git/+/2e2ee0e7f786dbc27a5b85b27d5e91e821069aea
Time: Wed May 10 14:42:26 2017 -0400
Lines 85-92 of file ccodec_gifmodule.cpp which potentially caused crash are changed in this cl (frame #4, "CCodec_GifModule::LoadFrameInfo"). 

Lines 127-142 of file fx_gif.cpp which potentially caused crash are changed in this cl (frame #2, ""). 

File fx_codec_progress.cpp is changed in this cl (and is part of stack frame #5, "CCodec_ProgressiveDecoder::GetFrames")
Minimum distance from crash line to modified line: 0. (file: ccodec_gifmodule.cpp, crashed on: 85, modified: 85).

@npm -- Could you please look into the issue, kindly re-assign if this is not related to your changes.
Thank You.
Project Member

Comment 2 by bugdroid1@chromium.org, May 12 2017

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/ef73cf5838ab3a902872d9fc57a90621cc3d7f21

commit ef73cf5838ab3a902872d9fc57a90621cc3d7f21
Author: Nicolas Pena <npm@chromium.org>
Date: Fri May 12 18:56:06 2017

Rename ErrorData and fix potential leak

This CL fixes a leak that can be caused by a longjmp in ErrorData. The method
is renamed to express the fact that it includes such, and a followup should
remove the jmps altogether.

Bug:  chromium:721488 
Change-Id: Iefcc82a77a30ff77b7973b05611440a8d5bf275e
Reviewed-on: https://pdfium-review.googlesource.com/5450
Commit-Queue: Nicolás Peña <npm@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>

[modify] https://crrev.com/ef73cf5838ab3a902872d9fc57a90621cc3d7f21/core/fxcodec/lgif/cgifcontext.cpp
[modify] https://crrev.com/ef73cf5838ab3a902872d9fc57a90621cc3d7f21/core/fxcodec/lgif/fx_gif.cpp
[modify] https://crrev.com/ef73cf5838ab3a902872d9fc57a90621cc3d7f21/core/fxcodec/lgif/cgifcontext.h
[modify] https://crrev.com/ef73cf5838ab3a902872d9fc57a90621cc3d7f21/core/fxcodec/codec/fx_codec_progress.cpp

Project Member

Comment 3 by ClusterFuzz, May 13 2017

ClusterFuzz has detected this issue as fixed in range 471487:471541.

Detailed report: https://clusterfuzz.com/testcase?key=4869621240037376

Fuzzer: libfuzzer_pdf_codec_gif_fuzzer
Job Type: libfuzzer_chrome_asan
Platform Id: linux

Crash Type: Direct-leak
Crash Address: 
Crash State:
  pdfium::internal::MakeUniqueResult<GifImage>::Scalar pdfium::MakeUnique<GifImage
  gif_decode_image_info
  gif_get_frame
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=470879:470905
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan&range=471487:471541

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=4869621240037376


See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 4 by ClusterFuzz, May 13 2017

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 4869621240037376 is verified as fixed, so closing issue.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
Components: Internals>Plugins>PDF

Sign in to add a comment