For Infos that return a variable amount of data, we should be querying the underlying driver for the size of the data.
Example: with clGetDeviceInfo and CL_DEVICE_NAME for now the layer is comparing the size of the provided buffer with sizeof(char[1]). To be valid, the buffer should be of at least the size the underlying implementation is requesting, obtained through the param_value_size_ret.
This problem is different than the one mentioned in #12 and does not require as much tooling.