| 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);
|
|
|