[Bf-blender-cvs] [dcb443416e0] blender-v2.83-release: Fix memcpy overlapping buffers

Germano Cavalcante noreply at git.blender.org
Thu Apr 16 15:32:03 CEST 2020


Commit: dcb443416e09a95f41693e1d5030867f5278e08f
Author: Germano Cavalcante
Date:   Thu Apr 16 10:31:51 2020 -0300
Branches: blender-v2.83-release
https://developer.blender.org/rBdcb443416e09a95f41693e1d5030867f5278e08f

Fix memcpy overlapping buffers

This crashes with ASAN enabled.
```
==39366==ERROR: AddressSanitizer: memcpy-param-overlap: memory ranges [0x6230000ae848,0x6230000ae85a) and [0x6230000ae851, 0x6230000ae863) overlap
```

===================================================================

M	source/blender/blenloader/intern/versioning_280.c

===================================================================

diff --git a/source/blender/blenloader/intern/versioning_280.c b/source/blender/blenloader/intern/versioning_280.c
index d53b6cde4ae..7904e51a516 100644
--- a/source/blender/blenloader/intern/versioning_280.c
+++ b/source/blender/blenloader/intern/versioning_280.c
@@ -4410,10 +4410,12 @@ void blo_do_versions_280(FileData *fd, Library *UNUSED(lib), Main *bmain)
       ColorManagedViewSettings *view_settings;
       view_settings = &scene->view_settings;
       if (BLI_str_startswith(view_settings->look, "Filmic - ")) {
-        STRNCPY(view_settings->look, view_settings->look + strlen("Filmic - "));
+        char *src = view_settings->look + strlen("Filmic - ");
+        memmove(view_settings->look, src, strlen(src) + 1);
       }
       else if (BLI_str_startswith(view_settings->look, "Standard - ")) {
-        STRNCPY(view_settings->look, view_settings->look + strlen("Standard - "));
+        char *src = view_settings->look + strlen("Standard - ");
+        memmove(view_settings->look, src, strlen(src) + 1);
       }
     }



More information about the Bf-blender-cvs mailing list