[PATCH] D19085: [clang-analyzer] fix warnings emitted on compiler-rt code base

Apelete Seketeli via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 14 15:17:57 PDT 2016


apelete updated this revision to Diff 53794.
apelete added a comment.

[clang-analyzer] fix warnings emitted on compiler-rt code base

Following changes were done in this revision:

- lib/builtins/emutls.c: expand calculation of new size of allocation to make use of actual type apparent.


http://reviews.llvm.org/D19085

Files:
  lib/builtins/emutls.c

Index: lib/builtins/emutls.c
===================================================================
--- lib/builtins/emutls.c
+++ lib/builtins/emutls.c
@@ -164,12 +164,14 @@
     emutls_address_array* array = pthread_getspecific(emutls_pthread_key);
     if (array == NULL) {
         uintptr_t new_size = emutls_new_data_array_size(index);
-        array = calloc(new_size + 1, sizeof(void*));
+        array = malloc(new_size * sizeof(void *) + sizeof(emutls_address_array *));
+        if (array)
+            memset(array->data, 0, new_size * sizeof(void*));
         emutls_check_array_set_size(array, new_size);
     } else if (index > array->size) {
         uintptr_t orig_size = array->size;
         uintptr_t new_size = emutls_new_data_array_size(index);
-        array = realloc(array, (new_size + 1) * sizeof(void*));
+        array = realloc(array, new_size * sizeof(void *) + sizeof(emutls_address_array *));
         if (array)
             memset(array->data + orig_size, 0,
                    (new_size - orig_size) * sizeof(void*));


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D19085.53794.patch
Type: text/x-patch
Size: 1050 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160414/5f38b487/attachment.bin>


More information about the llvm-commits mailing list