Skip to content

Commit dd228cc

Browse files
committed
Set uuid from metadata to avoid use-after-free bug
Signed-off-by: Robert Baldyga <robert.baldyga@unvertical.com>
1 parent 00a3469 commit dd228cc

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/mngt/ocf_mngt_core.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -915,6 +915,7 @@ void ocf_mngt_cache_detach_core(ocf_core_t core,
915915
int ocf_mngt_core_set_uuid(ocf_core_t core, const struct ocf_volume_uuid *uuid)
916916
{
917917
struct ocf_volume_uuid *current_uuid;
918+
struct ocf_volume_uuid new_uuid;
918919
int result;
919920
int diff;
920921
ocf_cache_t cache;
@@ -940,11 +941,11 @@ int ocf_mngt_core_set_uuid(ocf_core_t core, const struct ocf_volume_uuid *uuid)
940941
return 0;
941942
}
942943

943-
result = ocf_mngt_core_set_uuid_metadata(core, uuid, NULL);
944+
result = ocf_mngt_core_set_uuid_metadata(core, uuid, &new_uuid);
944945
if (result)
945946
return result;
946947

947-
ocf_volume_set_uuid(&core->volume, uuid);
948+
ocf_volume_set_uuid(&core->volume, &new_uuid);
948949

949950
return result;
950951
}

0 commit comments

Comments
 (0)