X-Git-Url: https://mattmccutchen.net/rsync/rsync.git/blobdiff_plain/e7c67065c060d500eba8d073da9568db2c658aad..82ad07c4182f744c07b96a15df4572e559ed7dc8:/uidlist.c diff --git a/uidlist.c b/uidlist.c index 13f54d6c..8104eca7 100644 --- a/uidlist.c +++ b/uidlist.c @@ -126,12 +126,10 @@ static int is_in_group(gid_t gid) char *gidbuf = new_array(char, ngroups*21+32); if (!gidbuf) out_of_memory("is_in_group"); - sprintf(gidbuf, "process has %d gid%s: ", - ngroups, ngroups == 1? "" : "s"); - pos = strlen(gidbuf); + pos = snprintf(gidbuf, 32, "process has %d gid%s: ", + ngroups, ngroups == 1? "" : "s"); for (n = 0; n < ngroups; n++) { - sprintf(gidbuf+pos, " %d", (int)gidset[n]); - pos += strlen(gidbuf+pos); + pos += snprintf(gidbuf+pos, 21, " %d", (int)gidset[n]); } rprintf(FINFO, "%s\n", gidbuf); free(gidbuf); @@ -272,9 +270,6 @@ void send_uid_list(int f) { struct idlist *list; - if (numeric_ids) - return; - if (preserve_uid) { int len; /* we send sequences of uid/byte-length/name */ @@ -340,10 +335,10 @@ void recv_uid_list(int f, struct file_list *flist) /* Now convert all the uids/gids from sender values to our values. */ if (am_root && preserve_uid && !numeric_ids) { for (i = 0; i < flist->count; i++) - flist->files[i]->uid = match_uid(flist->files[i]->uid); + F_UID(flist->files[i]) = match_uid(F_UID(flist->files[i])); } if (preserve_gid && (!am_root || !numeric_ids)) { for (i = 0; i < flist->count; i++) - flist->files[i]->gid = match_gid(flist->files[i]->gid); + F_GID(flist->files[i]) = match_gid(F_GID(flist->files[i])); } }