summaryrefslogtreecommitdiffstats
path: root/gpu
diff options
context:
space:
mode:
authordsinclair@chromium.org <dsinclair@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-16 04:10:56 +0000
committerdsinclair@chromium.org <dsinclair@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-11-16 04:10:56 +0000
commitd1034eb9724dd15cdc0c185d6857e749859d03ef (patch)
treebd330f6368ad95d3b9ecb219468e9b9e27c3bf13 /gpu
parent746be113648f1351713af219dee8e9b9f974747c (diff)
downloadchromium_src-d1034eb9724dd15cdc0c185d6857e749859d03ef.zip
chromium_src-d1034eb9724dd15cdc0c185d6857e749859d03ef.tar.gz
chromium_src-d1034eb9724dd15cdc0c185d6857e749859d03ef.tar.bz2
Remove extra DoCommonCommand call.
If the provided command id is bigger then the size of our command array we would recurse until we run out of memory. Remove extra call; add unit test. BUG=58153 Review URL: https://chromiumcodereview.appspot.com/11308045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168130 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu')
-rw-r--r--gpu/command_buffer/service/common_decoder.cc1
-rw-r--r--gpu/command_buffer/service/common_decoder_unittest.cc5
2 files changed, 4 insertions, 2 deletions
diff --git a/gpu/command_buffer/service/common_decoder.cc b/gpu/command_buffer/service/common_decoder.cc
index b9886ce..74adcea 100644
--- a/gpu/command_buffer/service/common_decoder.cc
+++ b/gpu/command_buffer/service/common_decoder.cc
@@ -166,7 +166,6 @@ error::Error CommonDecoder::DoCommonCommand(
return error::kInvalidArguments;
}
}
- return DoCommonCommand(command, arg_count, cmd_data);
return error::kUnknownCommand;
}
diff --git a/gpu/command_buffer/service/common_decoder_unittest.cc b/gpu/command_buffer/service/common_decoder_unittest.cc
index 1a350fb..734dd1b 100644
--- a/gpu/command_buffer/service/common_decoder_unittest.cc
+++ b/gpu/command_buffer/service/common_decoder_unittest.cc
@@ -185,6 +185,10 @@ TEST_F(CommonDecoderTest, Initialize) {
EXPECT_EQ(0, engine_.GetGetOffset());
}
+TEST_F(CommonDecoderTest, DoCommonCommandInvalidCommand) {
+ EXPECT_EQ(error::kUnknownCommand, decoder_.DoCommand(999999, 0, NULL));
+}
+
TEST_F(CommonDecoderTest, HandleNoop) {
cmd::Noop cmd;
const uint32 kSkipCount = 5;
@@ -634,4 +638,3 @@ TEST_F(CommonDecoderTest, GetBucketData) {
}
} // namespace gpu
-