This buffer is never freed, i.e. you're leaking memory here.

Do you really need to allocate that memory on the heap? Can't you just use something like this here?:

```c
U32 temp_buffer = 0;
U32 buffer_size = (U32) sizeof (temp_buffer);
/* … */
ret = MicGetTemperature (micHandle, therms[j], &temp_buffer, &buffer_size);
```