if (!name)
out_of_memory("recv_user_name");
read_sbuf(f, name, len);
+ if (numeric_ids < 0) {
+ free(name);
+ name = NULL;
+ }
node = recv_add_uid(uid, name); /* node keeps name's memory */
return node->id2;
}
if (!name)
out_of_memory("recv_group_name");
read_sbuf(f, name, len);
+ if (numeric_ids < 0) {
+ free(name);
+ name = NULL;
+ }
node = recv_add_gid(gid, name); /* node keeps name's memory */
if (flags_ptr && node->flags & FLAG_SKIP_GROUP)
*flags_ptr |= FLAG_SKIP_GROUP;
id_t id;
int i;
- if ((preserve_uid || preserve_acls) && !numeric_ids) {
+ if ((preserve_uid || preserve_acls) && numeric_ids <= 0) {
/* read the uid list */
while ((id = read_varint30(f)) != 0)
recv_user_name(f, id);
}
- if ((preserve_gid || preserve_acls) && !numeric_ids) {
+ if ((preserve_gid || preserve_acls) && numeric_ids <= 0) {
/* read the gid list */
while ((id = read_varint30(f)) != 0)
recv_group_name(f, id, NULL);