Index: experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp |
=================================================================== |
--- experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp (revision 10286) |
+++ experimental/PdfViewer/pdfparser/native/SkPdfNativeTokenizer.cpp (working copy) |
@@ -291,6 +291,9 @@ |
} |
static const unsigned char* readString(int level, const unsigned char* start, const unsigned char* end, SkPdfObject* str, SkPdfAllocator* allocator) { |
+ if (!allocator) { |
+ return end; |
+ } |
int outLength = readStringLength(level, start, end); |
// TODO(edisonn): optimize the allocation, don't allocate new string, but put it in a preallocated buffer |
unsigned char* out = (unsigned char*)allocator->alloc(outLength); |
@@ -434,6 +437,9 @@ |
} |
static const unsigned char* readHexString(int level, const unsigned char* start, const unsigned char* end, SkPdfObject* str, SkPdfAllocator* allocator) { |
+ if (!allocator) { |
+ return end; |
+ } |
int outLength = readHexStringLength(level, start, end); |
// TODO(edisonn): optimize the allocation, don't allocate new string, but put it in a preallocated buffer |
unsigned char* out = (unsigned char*)allocator->alloc(outLength); |
@@ -556,6 +562,9 @@ |
} |
static const unsigned char* readName(int level, const unsigned char* start, const unsigned char* end, SkPdfObject* name, SkPdfAllocator* allocator) { |
+ if (!allocator) { |
+ return end; |
+ } |
int outLength = readNameLength(level, start, end); |
// TODO(edisonn): optimize the allocation, don't allocate new string, but put it in a preallocated buffer |
unsigned char* out = (unsigned char*)allocator->alloc(outLength); |