diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-08-15 22:59:41 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2009-08-15 22:59:41 +0000 |
commit | 6c510b8a838ab27c348c2f5bac97211cbfaad3d6 (patch) | |
tree | 6c0e603d8c96335259d39caefc4425c8065043bc /nuttx/lib | |
parent | 56ab42eee7193d7d36b54522fa2dc251acb396fd (diff) | |
download | px4-nuttx-6c510b8a838ab27c348c2f5bac97211cbfaad3d6.tar.gz px4-nuttx-6c510b8a838ab27c348c2f5bac97211cbfaad3d6.tar.bz2 px4-nuttx-6c510b8a838ab27c348c2f5bac97211cbfaad3d6.zip |
strstr fails because length off by 1
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2022 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/lib')
-rw-r--r-- | nuttx/lib/lib_strncmp.c | 6 | ||||
-rw-r--r-- | nuttx/lib/lib_strstr.c | 6 |
2 files changed, 6 insertions, 6 deletions
diff --git a/nuttx/lib/lib_strncmp.c b/nuttx/lib/lib_strncmp.c index c50ec105e..147dfc536 100644 --- a/nuttx/lib/lib_strncmp.c +++ b/nuttx/lib/lib_strncmp.c @@ -1,7 +1,7 @@ /**************************************************************************** * lib/lib_strncmp.c * - * Copyright (C) 2007, 2008 Gregory Nutt. All rights reserved. + * Copyright (C) 2007-2009 Gregory Nutt. All rights reserved. * Author: Gregory Nutt <spudmonkey@racsa.co.cr> * * Redistribution and use in source and binary forms, with or without @@ -52,10 +52,10 @@ #ifndef CONFIG_ARCH_STRNCMP int strncmp(const char *cs, const char *ct, size_t nb) { - register signed char result = 0; + int result = 0; for (; nb > 0; nb--) { - if ((result = *cs - *ct++) != 0 || !*cs++) + if ((result = (int)*cs - (int)*ct++) != 0 || !*cs++) { break; } diff --git a/nuttx/lib/lib_strstr.c b/nuttx/lib/lib_strstr.c index 3649a6ac8..4e2eeb94c 100644 --- a/nuttx/lib/lib_strstr.c +++ b/nuttx/lib/lib_strstr.c @@ -53,7 +53,9 @@ char *strstr(const char *str, const char *substr) /* Special case the empty substring */ - ch = *substr++; + len = strlen(substr); + ch = *substr++; + if (!ch) { /* We'll say that an empty substring matches at the beginning of @@ -66,8 +68,6 @@ char *strstr(const char *str, const char *substr) /* Search for the substring */ candidate = str; - len = strlen(substr); - for (;;) { /* strchr() will return a pointer to the next occurrence of the |