diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-27 02:14:42 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-02-27 02:14:42 +0000 |
commit | 85c6d6739a81098c35cb35c3430f038ed4f5ddab (patch) | |
tree | e9302aab1b4368f28f3188087c2cb2d9521b103c /gpu/command_buffer/service/common_decoder.cc | |
parent | 85aa75c358eded70e4ebe9038d5133847d335b7f (diff) | |
download | chromium_src-85c6d6739a81098c35cb35c3430f038ed4f5ddab.zip chromium_src-85c6d6739a81098c35cb35c3430f038ed4f5ddab.tar.gz chromium_src-85c6d6739a81098c35cb35c3430f038ed4f5ddab.tar.bz2 |
"/b/slave/chromium-rel-linux/build/src/gpu/command_buffer/client/gles2_demo_cc.cc:50:warning: 'length' may be used uninitialized in this function"
Revert 40193 - Added support for glGetString, glGetShaderSource,
glGetProgramInfoLog and glGetShaderInfoLog
This turned up lots of issues.
* glGetShaderiv needed to be wrapped so it
returns the size of the shader the user passed
in. Not the munged shader sent to GL.
* Another issue that came up is that client
side validation is needed to ensure that
the client side GLES2Implementation does not
generate bad commands. For example, calling
glUniform1iv with a negative count would
generate a bad command. The service side
would see that and think the program was
malicious and stop processing commands.
So, that means I had to add some client side
validation and wrap glGetError on the client
side so I can synthisize GL errors there.
TEST=lots of unit tests.
BUG=none
Review URL: http://codereview.chromium.org/661220
TBR=gman@chromium.org
Review URL: http://codereview.chromium.org/660229
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40198 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer/service/common_decoder.cc')
-rw-r--r-- | gpu/command_buffer/service/common_decoder.cc | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gpu/command_buffer/service/common_decoder.cc b/gpu/command_buffer/service/common_decoder.cc index 06d368d..4452e39 100644 --- a/gpu/command_buffer/service/common_decoder.cc +++ b/gpu/command_buffer/service/common_decoder.cc @@ -8,7 +8,7 @@ namespace gpu { -void* CommonDecoder::Bucket::GetData(size_t offset, size_t size) const { +const void* CommonDecoder::Bucket::GetData(size_t offset, size_t size) const { if (OffsetSizeValid(offset, size)) { return data_.get() + offset; } @@ -33,10 +33,8 @@ bool CommonDecoder::Bucket::SetData( } void CommonDecoder::Bucket::SetFromString(const std::string& str) { - // Strings are passed NULL terminated to distinguish between empty string - // and no string. - SetSize(str.size() + 1); - SetData(str.c_str(), 0, str.size() + 1); + SetSize(str.size()); + SetData(str.c_str(), 0, str.size()); } void* CommonDecoder::GetAddressAndCheckSize(unsigned int shm_id, |