Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(141)

Unified Diff: src/core/SkSecureReadBuffer.h

Issue 23021015: Initial error handling code (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: Added ImageFilter derived classes safety checks (retry) Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/core/SkSecureReadBuffer.h
diff --git a/src/core/SkOrderedReadBuffer.h b/src/core/SkSecureReadBuffer.h
similarity index 87%
copy from src/core/SkOrderedReadBuffer.h
copy to src/core/SkSecureReadBuffer.h
index 556fce8b41495a4790bf48074dcb3ed951611439..67cb26c1fe8c0211a4e3a53613340febeb8fde9f 100644
--- a/src/core/SkOrderedReadBuffer.h
+++ b/src/core/SkSecureReadBuffer.h
@@ -1,13 +1,12 @@
-
/*
- * Copyright 2011 Google Inc.
+ * Copyright 2013 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
-#ifndef SkOrderedReadBuffer_DEFINED
-#define SkOrderedReadBuffer_DEFINED
+#ifndef SkSecureReadBuffer_DEFINED
+#define SkSecureReadBuffer_DEFINED
#include "SkRefCnt.h"
#include "SkBitmapHeap.h"
@@ -22,21 +21,19 @@ class SkBitmap;
#define DEBUG_NON_DETERMINISTIC_ASSERT
#endif
-class SkOrderedReadBuffer : public SkFlattenableReadBuffer {
+class SkSecureReadBuffer : public SkFlattenableReadBuffer {
public:
- SkOrderedReadBuffer();
- SkOrderedReadBuffer(const void* data, size_t size);
- SkOrderedReadBuffer(SkStream* stream);
- virtual ~SkOrderedReadBuffer();
-
- virtual SkOrderedReadBuffer* getOrderedBinaryBuffer() SK_OVERRIDE { return this; }
+ SkSecureReadBuffer();
+ SkSecureReadBuffer(const void* data, size_t size);
+ SkSecureReadBuffer(SkStream* stream);
+ virtual ~SkSecureReadBuffer();
SkReader32* getReader32() { return &fReader; }
uint32_t size() { return fReader.size(); }
uint32_t offset() { return fReader.offset(); }
bool eof() { return fReader.eof(); }
- const void* skip(size_t size) { return fReader.skip(size); }
+ const void* skip(size_t size);
// primitives
virtual bool readBool() SK_OVERRIDE;
@@ -113,6 +110,12 @@ public:
}
private:
+ void setMemory(const void* data, size_t size);
+
+ static bool ptr_align_4(const void* ptr) {
+ return (((const char*)ptr - (const char*)NULL) & 3) == 0;
+ }
+
SkReader32 fReader;
void* fMemoryPtr;
@@ -135,4 +138,4 @@ private:
typedef SkFlattenableReadBuffer INHERITED;
};
-#endif // SkOrderedReadBuffer_DEFINED
+#endif // SkSecureReadBuffer_DEFINED

Powered by Google App Engine
This is Rietveld 408576698