Created
December 22, 2013 02:14
-
-
Save igable/8077668 to your computer and use it in GitHub Desktop.
With the new default secure strlcpy/strlcat functions in 10.9 web100clt no longer builds on 10.9. This patch removes the offending package defined functions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/src/strlutils.c b/src/strlutils.c | |
index 01e0710..0ec23a6 100644 | |
--- a/src/strlutils.c | |
+++ b/src/strlutils.c | |
@@ -19,66 +19,4 @@ | |
#include <sys/types.h> | |
#include <string.h> | |
-/* | |
- * Copy src to string dst of size siz. At most siz-1 characters | |
- * will be copied. Always NUL terminates (unless siz == 0). | |
- * Returns strlen(src); if retval >= siz, truncation occurred. | |
- */ | |
-size_t strlcpy(char *dst, const char *src, size_t siz) { | |
- char *d = dst; | |
- const char *s = src; | |
- size_t n = siz; | |
- | |
- /* Copy as many bytes as will fit */ | |
- if (n != 0) { | |
- while (--n != 0) { | |
- if ((*d++ = *s++) == '\0') | |
- break; | |
- } | |
- } | |
- | |
- /* Not enough room in dst, add NUL and traverse rest of src */ | |
- if (n == 0) { | |
- if (siz != 0) | |
- *d = '\0'; /* NUL-terminate dst */ | |
- while (*s++) { } | |
- } | |
- | |
- return (s - src - 1); /* count does not include NUL */ | |
-} | |
- | |
-/* | |
- * Appends src to string dst of size siz (unlike strncat, siz is the | |
- * full size of dst, not space left). At most siz-1 characters | |
- * will be copied. Always NUL terminates (unless siz <= strlen(dst)). | |
- * Returns strlen(src) + MIN(siz, strlen(initial dst)). | |
- * If retval >= siz, truncation occurred. | |
- */ | |
-size_t strlcat(dst, src, siz) | |
- char *dst; | |
- const char *src; | |
- size_t siz; { | |
- register char *d = dst; | |
- register const char *s = src; | |
- register size_t n = siz; | |
- size_t dlen; | |
- | |
- /* Find the end of dst and adjust bytes left but don't go past end */ | |
- while (n-- != 0 && *d != '\0') | |
- d++; | |
- dlen = d - dst; | |
- n = siz - dlen; | |
- | |
- if (n == 0) | |
- return (dlen + strlen(s)); | |
- while (*s != '\0') { | |
- if (n != 1) { | |
- *d++ = *s; | |
- n--; | |
- } | |
- s++; | |
- } | |
- *d = '\0'; | |
- return (dlen + (s - src)); /* count does not include NUL */ | |
- } | |
diff --git a/src/strlutils.h b/src/strlutils.h | |
index 14783a6..f38c2f3 100644 | |
--- a/src/strlutils.h | |
+++ b/src/strlutils.h | |
@@ -27,8 +27,5 @@ | |
* will be copied. Always NUL terminates (unless siz == 0). | |
* Returns strlen(src); if retval >= siz, truncation occurred. | |
*/ | |
-extern size_t | |
-strlcpy(char *dst, const char *src, size_t siz); | |
-size_t strlcat(char *dst, const char *src, size_t siz); | |
#endif // SRC_STRLUTILS_H_ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment