More strlcat/strlcpy truncate checks.
[amitay/samba.git] / source3 / modules / vfs_afsacl.c
index e965e4c8b13df08ec18d38b8af2db44fd23a048a..61a31458cf44f1013c62825b2f67c84d0f01398c 100644 (file)
@@ -316,16 +316,22 @@ static bool unparse_afs_acl(struct afs_acl *acl, char *acl_str)
        }
 
        fstr_sprintf(line, "%d\n", positives);
-       strlcat(acl_str, line, MAXSIZE);
+       if (strlcat(acl_str, line, MAXSIZE) >= MAXSIZE) {
+               return false;
+       }
 
        fstr_sprintf(line, "%d\n", negatives);
-       strlcat(acl_str, line, MAXSIZE);
+       if (strlcat(acl_str, line, MAXSIZE) >= MAXSIZE) {
+               return false;
+       }
 
        ace = acl->acelist;
 
        while (ace != NULL) {
                fstr_sprintf(line, "%s\t%d\n", ace->name, ace->rights);
-               strlcat(acl_str, line, MAXSIZE);
+               if (strlcat(acl_str, line, MAXSIZE) >= MAXSIZE) {
+                       return false;
+               }
                ace = ace->next;
        }
        return true;