Index: include/private/SkTemplates.h |
diff --git a/include/private/SkTemplates.h b/include/private/SkTemplates.h |
index 7e2c19f09daa199486462e0410f64a79a58cce2c..30942ad991675d287785b258cd57324093945e11 100644 |
--- a/include/private/SkTemplates.h |
+++ b/include/private/SkTemplates.h |
@@ -209,6 +209,7 @@ public: |
} else if (count > 0) { |
fArray = (T*) fStorage; |
} else { |
+ SkASSERT(0 == count); |
bsalomon
2016/06/23 17:53:34
I think it'd be slightly clearer to just put SkASS
csmartdalton
2016/06/23 18:07:26
Done.
|
fArray = NULL; |
} |
@@ -267,7 +268,7 @@ public: |
/** Allocates space for 'count' Ts. */ |
explicit SkAutoTMalloc(size_t count) { |
- fPtr = (T*)sk_malloc_flags(count * sizeof(T), SK_MALLOC_THROW); |
+ fPtr = count ? (T*)sk_malloc_flags(count * sizeof(T), SK_MALLOC_THROW) : nullptr; |
} |
~SkAutoTMalloc() { |
@@ -326,8 +327,10 @@ public: |
SkAutoSTMalloc(size_t count) { |
if (count > kCount) { |
fPtr = (T*)sk_malloc_flags(count * sizeof(T), SK_MALLOC_THROW | SK_MALLOC_TEMP); |
- } else { |
+ } else if (count) { |
fPtr = fTStorage; |
+ } else { |
+ fPtr = nullptr; |
} |
} |
@@ -344,8 +347,10 @@ public: |
} |
if (count > kCount) { |
fPtr = (T*)sk_malloc_throw(count * sizeof(T)); |
- } else { |
+ } else if (count) { |
fPtr = fTStorage; |
+ } else { |
+ fPtr = nullptr; |
} |
return fPtr; |
} |