Fix bug #5578, reported by sendel2000@hotbox.ru. Bad (non-Samba) use of strlcat gives...
authorJeremy Allison <jra@samba.org>
Wed, 2 Jul 2008 18:57:59 +0000 (11:57 -0700)
committerJeremy Allison <jra@samba.org>
Wed, 2 Jul 2008 18:57:59 +0000 (11:57 -0700)
Jeremy.

source/client/mount.cifs.c
source/lib/replace/replace.c

index c42375b5743ebffbf6c981e40ecd94ab97668cba..c24c22e1c2757d660f7bc5de3cf0d95700c746d7 100644 (file)
@@ -115,6 +115,9 @@ size_t strlcat(char *d, const char *s, size_t bufsize)
        size_t ret = len1 + len2;
 
        if (len1+len2 >= bufsize) {
+               if (bufsize < (len1+1)) {
+                       return ret;
+               }
                len2 = bufsize - (len1+1);
        }
        if (len2 > 0) {
index 2c3f14c2dfb8694a0cda2581dffe465a4eb2eac9..106c9dfe629d464003c20e54dcd38719f2e9f9af 100644 (file)
@@ -82,6 +82,9 @@ size_t rep_strlcat(char *d, const char *s, size_t bufsize)
        size_t ret = len1 + len2;
 
        if (len1+len2 >= bufsize) {
+               if (bufsize < (len1+1)) {
+                       return ret;
+               }
                len2 = bufsize - (len1+1);
        }
        if (len2 > 0) {