]> git.ipfire.org Git - thirdparty/samba.git/commitdiff
lib: Use talloc_realloc_zero() in a few obvious places
authorVolker Lendecke <vl@samba.org>
Tue, 29 Jul 2025 13:26:21 +0000 (15:26 +0200)
committerVolker Lendecke <vl@samba.org>
Tue, 2 Sep 2025 08:08:29 +0000 (08:08 +0000)
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Anoop C S <anoopcs@samba.org>
source3/lib/adouble.c
source3/libads/ldap.c
source3/profile/profile.c
source4/torture/winbind/struct_based.c

index 9d22dafeb631d696f320435c0273fae93800ad0a..bc48c9d8e2ec91de2c427dcf1f3023b3a37d6274 100644 (file)
@@ -553,16 +553,13 @@ static bool ad_pack_xattrs(struct vfs_handle_struct *handle,
 
        oldsize = talloc_get_size(ad->ad_data);
        if (oldsize < AD_XATTR_MAX_HDR_SIZE) {
-               ad->ad_data = talloc_realloc(ad,
-                                            ad->ad_data,
-                                            char,
-                                            AD_XATTR_MAX_HDR_SIZE);
+               ad->ad_data = talloc_realloc_zero(ad,
+                                                 ad->ad_data,
+                                                 char,
+                                                 AD_XATTR_MAX_HDR_SIZE);
                if (ad->ad_data == NULL) {
                        return false;
                }
-               memset(ad->ad_data + oldsize,
-                      0,
-                      AD_XATTR_MAX_HDR_SIZE - oldsize);
        }
 
        /*
index 49fa1d47298ee369d9401854fc5ec7ea03575b6c..862ac6e18e4cb6984936a0f550ad093988a7d4a0 100644 (file)
@@ -2871,12 +2871,14 @@ ADS_STATUS ads_create_machine_acct(ADS_STRUCT *ads,
        }
 
        /* Make sure to NULL terminate the array */
-       spn_array = talloc_realloc(ctx, spn_array, const char *, num_spns + 1);
+       spn_array = talloc_realloc_zero(ctx,
+                                       spn_array,
+                                       const char *,
+                                       num_spns + 1);
        if (spn_array == NULL) {
                ret = ADS_ERROR(LDAP_NO_MEMORY);
                goto done;
        }
-       spn_array[num_spns] = NULL;
 
        controlstr = talloc_asprintf(ctx, "%u", acct_control);
        if (controlstr == NULL) {
index 850b083a1f5bb75b43215c669089576b2b378c7b..c9f6329ec6e3e0e4e2d6119d4cff691d65bda2ac 100644 (file)
@@ -373,18 +373,16 @@ static bool smbprofile_persvc_grow(int snum)
        }
 
        new_cap = (size_t)snum + 1;
-       new_tbl = talloc_realloc(NULL,
-                                smbprofile_state.persvc.tbl,
-                                struct profile_stats_persvc *,
-                                new_cap);
+       new_tbl = talloc_realloc_zero(NULL,
+                                     smbprofile_state.persvc.tbl,
+                                     struct profile_stats_persvc *,
+                                     new_cap);
 
        if (new_tbl == NULL) {
                DBG_ERR("Failed to realloc persvc table for snum %d\n", snum);
                return false;
        }
 
-       memset(&new_tbl[cur_cap], 0, (new_cap - cur_cap) * sizeof(*new_tbl));
-
        smbprofile_state.persvc.tbl = new_tbl;
        return true;
 }
index 5e69f5f278623a9640c14b43c1ae2f8e40720c38..b055e164c1a0823f0ceaea3da71ce9ac209ae182 100644 (file)
@@ -317,10 +317,10 @@ static bool get_trusted_domains(struct torture_context *torture,
        while (next_token_talloc(torture, &extra_data, &line, "\n")) {
                char *p, *lp;
 
-               d = talloc_realloc(torture, d,
-                                  struct torture_trust_domain,
-                                  dcount + 2);
-               ZERO_STRUCT(d[dcount+1]);
+               d = talloc_realloc_zero(torture,
+                                       d,
+                                       struct torture_trust_domain,
+                                       dcount + 2);
 
                lp = line;
                p = strchr(lp, '\\');
@@ -646,8 +646,7 @@ static bool get_user_list(struct torture_context *torture, char ***users)
            next_token_talloc(torture, &extra_data, &name, ",");
            count++)
        {
-               u = talloc_realloc(torture, u, char *, count + 2);
-               u[count+1] = NULL;
+               u = talloc_realloc_zero(torture, u, char *, count + 2);
                u[count] = talloc_move(u, &name);
        }
 
@@ -707,8 +706,7 @@ static bool get_group_list(struct torture_context *torture,
            next_token_talloc(torture, &extra_data, &name, ",");
            count++)
        {
-               g = talloc_realloc(torture, g, char *, count + 2);
-               g[count+1] = NULL;
+               g = talloc_realloc_zero(torture, g, char *, count + 2);
                g[count] = talloc_move(g, &name);
        }