From 13f542cabd635c55ade5442764cc4a3d2f7880ea Mon Sep 17 00:00:00 2001 From: Svet Ganov Date: Fri, 29 Aug 2014 15:35:49 -0700 Subject: 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 --- graphics/java/android/graphics/pdf/PdfRenderer.java | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'graphics/java') diff --git a/graphics/java/android/graphics/pdf/PdfRenderer.java b/graphics/java/android/graphics/pdf/PdfRenderer.java index b5d9729e043a..1072b3c546ec 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. */ -- cgit v1.2.3-59-g8ed1b