Chromium Code Reviews| Index: ui/surface/transport_dib.cc |
| =================================================================== |
| --- ui/surface/transport_dib.cc (revision 0) |
| +++ ui/surface/transport_dib.cc (revision 0) |
| @@ -0,0 +1,20 @@ |
| +// Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "ui/surface/transport_dib.h" |
| + |
| +#include "skia/ext/platform_canvas.h" |
| + |
| +// static |
| +bool TransportDIB::VerifyCanvasSize(int w, int h) { |
| + static const size_t kMaxSize = static_cast<size_t>(INT_MAX); |
| + const size_t one_stride = skia::PlatformCanvasStrideForWidth(1); |
| + const size_t stride = skia::PlatformCanvasStrideForWidth(w); |
| + if (w <= 0 || h <= 0 || static_cast<size_t>(w) > (kMaxSize / one_stride) || |
|
apatrick_chromium
2013/03/18 17:32:10
nit: braces around "return false".
jschuh
2013/03/21 01:08:03
Done.
|
| + static_cast<size_t>(h) > (kMaxSize / stride)) |
| + return false; |
| + |
| + return (stride * h) <= size_; |
|
apatrick_chromium
2013/03/18 17:32:10
Are we worried about (stride * h) overflowing or b
jschuh
2013/03/21 01:08:03
The checks above verify it's positive and won't ov
|
| +} |
| + |
| Property changes on: ui\surface\transport_dib.cc |
| ___________________________________________________________________ |
| Added: svn:eol-style |
| + LF |