Chromium Code Reviews| 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; |
| } |