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

Issue 719258 link

Starred by 5 users

Issue metadata

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



Sign in to add a comment

ASSERT: span->len > 0

Project Member Reported by ClusterFuzz, May 7 2017

Issue description

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

Fuzzer: libfuzzer_pdfium_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: ASSERT
Crash Address: 
Crash State:
  span->len > 0
  void CFX_Renderer::render<agg::scanline_u<unsigned char> >
  void agg::render_scanlines<agg::rasterizer_scanline_aa, agg::scanline_u<unsigned
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=395717:395804

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


Issue filed automatically.

See https://chromium.googlesource.com/chromium/src/+/master/testing/libfuzzer/reproducing.md for more information.
 
Cc: msrchandra@chromium.org
Labels: Test-Predator-Wrong-CLs M-59
Owner: npm@chromium.org
Status: Assigned (was: Untriaged)
Predator and CL did not provide any possible suspects.
Using Code Search for the file, "fx_agg_driver.cpp" assigning to the concern owner.

Suspecting Commit#
https://pdfium.googlesource.com/pdfium.git/+/ddfc3dcce42ad1dc805f29102f7d056a5809d489

@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 11 2017

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

commit 6e4ecaf073843e571f4c0a72a0b6d81a01b01607
Author: Nicolas Pena <npm@chromium.org>
Date: Thu May 11 16:49:55 2017

Stop rendering if a span length overflowed in AGG

In AGG, len is of type coord_type, which we have as int16_t, but we can add to
it large values, causing it to become negative. Stop the rendering when that
occurs.

Bug:  chromium:719258 
Change-Id: Ic7497666b01220a9cd3e7d749f1fc6ae4a210870
Reviewed-on: https://pdfium-review.googlesource.com/5370
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña <npm@chromium.org>

[modify] https://crrev.com/6e4ecaf073843e571f4c0a72a0b6d81a01b01607/core/fxge/agg/fx_agg_driver.cpp

Project Member

Comment 3 by ClusterFuzz, May 12 2017

ClusterFuzz has detected this issue as fixed in range 471017:471053.

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

Fuzzer: libfuzzer_pdfium_fuzzer
Job Type: libfuzzer_chrome_asan_debug
Platform Id: linux

Crash Type: ASSERT
Crash Address: 
Crash State:
  span->len > 0
  void CFX_Renderer::render<agg::scanline_u<unsigned char> >
  void agg::render_scanlines<agg::rasterizer_scanline_aa, agg::scanline_u<unsigned
  
Sanitizer: address (ASAN)

Regressed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=395717:395804
Fixed: https://clusterfuzz.com/revisions?job=libfuzzer_chrome_asan_debug&range=471017:471053

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


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 12 2017

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase 4727280319594496 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
Cc: och...@chromium.org tsepez@chromium.org
 Issue pdfium:467  has been merged into this issue.

Sign in to add a comment