summaryrefslogtreecommitdiffstats
path: root/ppapi
diff options
context:
space:
mode:
authorjvoung@chromium.org <jvoung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-15 20:28:41 +0000
committerjvoung@chromium.org <jvoung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-02-15 20:28:41 +0000
commita91d72a9413be0ae4185d7ea4be69218677ad107 (patch)
treea25975df09426728f8f363d58cd1b9241fc2a598 /ppapi
parentc2a45e243be60e579477651cf8f69649b9bd9827 (diff)
downloadchromium_src-a91d72a9413be0ae4185d7ea4be69218677ad107.zip
chromium_src-a91d72a9413be0ae4185d7ea4be69218677ad107.tar.gz
chromium_src-a91d72a9413be0ae4185d7ea4be69218677ad107.tar.bz2
Fix strcmp bug in pnacl_shim.
The original fails thinking a == b when substr(a,b). Oops! Seen in ppb_testing_dev version 0.9 vs 0.91. BUG=https://code.google.com/p/nativeclient/issues/detail?id=2484 TEST=browser_test --gtest_filter=*PNaCl* Review URL: https://chromiumcodereview.appspot.com/12230049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@182811 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ppapi')
-rw-r--r--ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c b/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c
index 036d9c6..62d984a 100644
--- a/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c
+++ b/ppapi/native_client/src/untrusted/pnacl_irt_shim/pnacl_shim.c
@@ -114,8 +114,14 @@
/* Use local strcmp to avoid dependency on libc. */
static int mystrcmp(const char* s1, const char *s2) {
- while((*s1 && *s2) && (*s1++ == *s2++));
- return *(--s1) - *(--s2);
+ while (1) {
+ if (*s1 == 0) break;
+ if (*s2 == 0) break;
+ if (*s1 != *s2) break;
+ ++s1;
+ ++s2;
+ }
+ return *(s1) - *(s2);
}
/* BEGIN Declarations for all Wrapper Infos */