]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
smbclient: Save lines with talloc_asprintf_addbuf()
authorVolker Lendecke <vl@samba.org>
Tue, 19 Sep 2023 17:29:15 +0000 (10:29 -0700)
committerJeremy Allison <jra@samba.org>
Mon, 25 Sep 2023 19:01:34 +0000 (19:01 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
source3/client/client.c

index 7831e54f5cbc3c7fca4435d5526f834a2aa41010..b7953a1f7b83c58323997bef9b98f9bea1e4c1df 100644 (file)
@@ -3179,62 +3179,36 @@ static int cmd_posix(void)
        d_printf("Server supports CIFS extensions %u.%u\n", (unsigned int)major, (unsigned int)minor);
 
        caps = talloc_strdup(ctx, "");
-       if (!caps) {
-               return 1;
-       }
-        if (caplow & CIFS_UNIX_FCNTL_LOCKS_CAP) {
-               caps = talloc_asprintf_append(caps, "locks ");
-               if (!caps) {
-                       return 1;
-               }
+       if (caplow & CIFS_UNIX_FCNTL_LOCKS_CAP) {
+               talloc_asprintf_addbuf(&caps, "locks ");
        }
         if (caplow & CIFS_UNIX_POSIX_ACLS_CAP) {
-               caps = talloc_asprintf_append(caps, "acls ");
-               if (!caps) {
-                       return 1;
-               }
+               talloc_asprintf_addbuf(&caps, "acls ");
        }
         if (caplow & CIFS_UNIX_XATTTR_CAP) {
-               caps = talloc_asprintf_append(caps, "eas ");
-               if (!caps) {
-                       return 1;
-               }
+               talloc_asprintf_addbuf(&caps, "eas ");
        }
         if (caplow & CIFS_UNIX_POSIX_PATHNAMES_CAP) {
-               caps = talloc_asprintf_append(caps, "pathnames ");
-               if (!caps) {
-                       return 1;
-               }
+               talloc_asprintf_addbuf(&caps, "pathnames ");
        }
         if (caplow & CIFS_UNIX_POSIX_PATH_OPERATIONS_CAP) {
-               caps = talloc_asprintf_append(caps, "posix_path_operations ");
-               if (!caps) {
-                       return 1;
-               }
+               talloc_asprintf_addbuf(&caps, "posix_path_operations ");
        }
         if (caplow & CIFS_UNIX_LARGE_READ_CAP) {
-               caps = talloc_asprintf_append(caps, "large_read ");
-               if (!caps) {
-                       return 1;
-               }
+               talloc_asprintf_addbuf(&caps, "large_read ");
        }
         if (caplow & CIFS_UNIX_LARGE_WRITE_CAP) {
-               caps = talloc_asprintf_append(caps, "large_write ");
-               if (!caps) {
-                       return 1;
-               }
+               talloc_asprintf_addbuf(&caps, "large_write ");
        }
        if (caplow & CIFS_UNIX_TRANSPORT_ENCRYPTION_CAP) {
-               caps = talloc_asprintf_append(caps, "posix_encrypt ");
-               if (!caps) {
-                       return 1;
-               }
+               talloc_asprintf_addbuf(&caps, "posix_encrypt ");
        }
        if (caplow & CIFS_UNIX_TRANSPORT_ENCRYPTION_MANDATORY_CAP) {
-               caps = talloc_asprintf_append(caps, "mandatory_posix_encrypt ");
-               if (!caps) {
-                       return 1;
-               }
+               talloc_asprintf_addbuf(&caps, "mandatory_posix_encrypt ");
+       }
+
+       if (caps == NULL) {
+               return 1;
        }
 
        if (*caps && caps[strlen(caps)-1] == ' ') {