diff options
author | Svet Ganov <svetoslavganov@google.com> | 2014-08-29 15:35:49 -0700 |
---|---|---|
committer | Svetoslav <svetoslavganov@google.com> | 2014-09-02 11:40:44 -0700 |
commit | 13f542cabd635c55ade5442764cc4a3d2f7880ea (patch) | |
tree | a34371f9961bae0d0496be006a59371b521d0e3d /graphics | |
parent | 6a6a8f00946f963191612f64238bd706c2188dd8 (diff) | |
download | frameworks_base-13f542cabd635c55ade5442764cc4a3d2f7880ea.zip frameworks_base-13f542cabd635c55ade5442764cc4a3d2f7880ea.tar.gz frameworks_base-13f542cabd635c55ade5442764cc4a3d2f7880ea.tar.bz2 |
Move print rendering in an isolated process.
Security review of the PDF rendering code revealed that it is
not sercure. Therefore, this code must be run in a sandbox.
This change moves the rendering code in an isolated process.
bug:16897933
Change-Id: I711ce42a56892db1837950137bfaa79e1d61a7c4
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/java/android/graphics/pdf/PdfRenderer.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/graphics/java/android/graphics/pdf/PdfRenderer.java b/graphics/java/android/graphics/pdf/PdfRenderer.java index b5d9729..1072b3c 100644 --- a/graphics/java/android/graphics/pdf/PdfRenderer.java +++ b/graphics/java/android/graphics/pdf/PdfRenderer.java @@ -195,6 +195,7 @@ public final class PdfRenderer implements AutoCloseable { public Page openPage(int index) { throwIfClosed(); throwIfPageOpened(); + throwIfPageNotInDocument(index); mCurrentPage = new Page(index); return mCurrentPage; } @@ -237,6 +238,12 @@ public final class PdfRenderer implements AutoCloseable { } } + private void throwIfPageNotInDocument(int pageIndex) { + if (pageIndex >= mPageCount) { + throw new IllegalArgumentException("Invalid page index"); + } + } + /** * This class represents a PDF document page for rendering. */ |