diff options
-rw-r--r-- | source4/rpc_server/drsuapi/getncchanges.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/source4/rpc_server/drsuapi/getncchanges.c b/source4/rpc_server/drsuapi/getncchanges.c index 2754c8f9b0..165e485d45 100644 --- a/source4/rpc_server/drsuapi/getncchanges.c +++ b/source4/rpc_server/drsuapi/getncchanges.c @@ -94,12 +94,13 @@ static WERROR get_nc_changes_build_object(struct drsuapi_DsReplicaObjectListItem attids[n] = md.ctr.ctr1.array[i].attid; n++; } - if (n == 0) { - /* nothing to send */ - talloc_free(obj->meta_data_ctr); - obj->meta_data_ctr = NULL; - return WERR_OK; - } + + /* + note that if n==0 we still need to send the change, as it + could be a rename, which changes the uSNChanged, but not any + of the replicated attributes + */ + obj->meta_data_ctr->count = n; obj->object.identifier = talloc(obj, struct drsuapi_DsReplicaObjectIdentifier); |