[PATCH 41/90] CUDA: const correctness in get/free device name string
authorGiuseppe Bilotta <giuseppe.bilotta@gmail.com>
Tue, 23 Nov 2021 16:25:10 +0000 (17:25 +0100)
committerAndreas Beckmann <anbe@debian.org>
Fri, 7 Jan 2022 23:55:22 +0000 (23:55 +0000)
This silences a couple of const correctness warnings due to implicit
casts to/from char*/const char*.

Gbp-Pq: Name 0041-CUDA-const-correctness-in-get-free-device-name-strin.patch

lib/CL/devices/cuda/pocl-cuda.c

index 1d8d4cef5d765dae3707561aeaebbf70f42930d6..6638dcc7b9c762f87cca647fc2e9d5b5fac52e96 100644 (file)
@@ -286,12 +286,15 @@ pocl_cuda_init (unsigned j, cl_device_id dev, const char *parameters)
     ret = CL_INVALID_DEVICE;
 
   /* Get specific device name */
-  dev->long_name = dev->short_name = calloc (256, sizeof (char));
-
-  if (ret != CL_INVALID_DEVICE)
-    cuDeviceGetName (dev->long_name, 256, data->device);
-  else
-    snprintf (dev->long_name, 255, "Unavailable CUDA device #%d", j);
+  {
+     char *name = calloc (256, sizeof (char));
+
+     if (ret != CL_INVALID_DEVICE)
+       cuDeviceGetName (name, 256, data->device);
+     else
+       snprintf (name, 255, "Unavailable CUDA device #%d", j);
+     dev->long_name = dev->short_name = name;
+  }
 
   SETUP_DEVICE_CL_VERSION (CUDA_DEVICE_CL_VERSION_MAJOR,
                            CUDA_DEVICE_CL_VERSION_MINOR);
@@ -533,7 +536,10 @@ pocl_cuda_uninit (unsigned j, cl_device_id device)
   POCL_MEM_FREE (data);
   device->data = NULL;
 
-  POCL_MEM_FREE (device->long_name);
+  char *name = (char*)device->long_name;
+  POCL_MEM_FREE (name);
+  device->long_name = device->short_name = NULL;
+
   return CL_SUCCESS;
 }