aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkReader32.h
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-03-15 13:38:26 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-03-15 18:16:30 +0000
commitcd9ada55073b492409e682118b463de09a31230d (patch)
tree227eacedbbc615ce70ee1838d5065798ddccfe8e /src/core/SkReader32.h
parent2f3865b5084095ca7b634e0fcb0815be6b4c2945 (diff)
must check for zero-length in reader32::read() before calling memcpy
memcpy's behavior is undefined if the dst-ptr is null, but reader32 supports null as long as the size is 0, so it needs to check explicitly before calling memcpy. This is implemented (now) by calling sk_careful_memcpy. BUG=skia: Change-Id: I7033cc5e6d724f50f0aafd9808e297b953848aa7 Reviewed-on: https://skia-review.googlesource.com/9729 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Reed <reed@google.com>
Diffstat (limited to 'src/core/SkReader32.h')
-rw-r--r--src/core/SkReader32.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/SkReader32.h b/src/core/SkReader32.h
index 7e31fb9e23..1f027f71bb 100644
--- a/src/core/SkReader32.h
+++ b/src/core/SkReader32.h
@@ -96,7 +96,7 @@ public:
void read(void* dst, size_t size) {
SkASSERT(0 == size || dst != nullptr);
SkASSERT(ptr_align_4(fCurr));
- memcpy(dst, fCurr, size);
+ sk_careful_memcpy(dst, fCurr, size);
fCurr += SkAlign4(size);
SkASSERT(fCurr <= fStop);
}