From aa7d23d66380cae9dd4a0f0bd587291fe6a2a3f1 Mon Sep 17 00:00:00 2001 From: Alexey Samsonov Date: Thu, 13 Nov 2014 22:40:59 +0000 Subject: Fix -Wcast-qual warnings in sanitizers git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@221936 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/dfsan/dfsan_custom.cc | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'lib/dfsan') diff --git a/lib/dfsan/dfsan_custom.cc b/lib/dfsan/dfsan_custom.cc index 55f7170df..839a399fa 100644 --- a/lib/dfsan/dfsan_custom.cc +++ b/lib/dfsan/dfsan_custom.cc @@ -215,8 +215,9 @@ __dfsw_strlen(const char *s, dfsan_label s_label, dfsan_label *ret_label) { static void *dfsan_memcpy(void *dest, const void *src, size_t n) { - dfsan_label *sdest = shadow_for(dest), *ssrc = shadow_for((void *)src); - internal_memcpy((void *)sdest, (void *)ssrc, n * sizeof(dfsan_label)); + dfsan_label *sdest = shadow_for(dest); + const dfsan_label *ssrc = shadow_for(src); + internal_memcpy((void *)sdest, (const void *)ssrc, n * sizeof(dfsan_label)); return internal_memcpy(dest, src, n); } @@ -365,9 +366,11 @@ struct dl_iterate_phdr_info { int dl_iterate_phdr_cb(struct dl_phdr_info *info, size_t size, void *data) { dl_iterate_phdr_info *dipi = (dl_iterate_phdr_info *)data; dfsan_set_label(0, *info); - dfsan_set_label(0, (void *)info->dlpi_name, strlen(info->dlpi_name) + 1); - dfsan_set_label(0, (void *)info->dlpi_phdr, - sizeof(*info->dlpi_phdr) * info->dlpi_phnum); + dfsan_set_label(0, const_cast(info->dlpi_name), + strlen(info->dlpi_name) + 1); + dfsan_set_label( + 0, const_cast(reinterpret_cast(info->dlpi_phdr)), + sizeof(*info->dlpi_phdr) * info->dlpi_phnum); dfsan_label ret_label; return dipi->callback_trampoline(dipi->callback, info, size, dipi->data, 0, 0, 0, &ret_label); @@ -1064,25 +1067,26 @@ static int format_buffer(char *str, bool has_size, size_t size, // string was only partially printed ({v,}snprintf case). for (size_t i = 0; i < chunks.size(); ++i) { const Chunk& chunk = chunks[i]; + void *chunk_ptr = const_cast(chunk.ptr); switch (chunk.label_type) { case Chunk::NONE: - dfsan_set_label(0, (void*) chunk.ptr, chunk.size); + dfsan_set_label(0, chunk_ptr, chunk.size); break; case Chunk::IGNORED: va_labels++; - dfsan_set_label(0, (void*) chunk.ptr, chunk.size); + dfsan_set_label(0, chunk_ptr, chunk.size); break; case Chunk::NUMERIC: { dfsan_label label = *va_labels++; - dfsan_set_label(label, (void*) chunk.ptr, chunk.size); + dfsan_set_label(label, chunk_ptr, chunk.size); break; } case Chunk::STRING: { // Consume the label of the pointer to the string va_labels++; - internal_memcpy(shadow_for((void *) chunk.ptr), - shadow_for((void *) chunk.arg), + internal_memcpy(shadow_for(chunk_ptr), + shadow_for(chunk.arg), sizeof(dfsan_label) * (strlen(chunk.arg))); break; } -- cgit v1.2.3