13 Apr
2016
13 Apr
'16
1:02 p.m.
On Wed, 13 Apr 2016 10:57:40 +0200, Vinod Koul wrote:
On Wed, Apr 13, 2016 at 02:26:57PM +0800, Hsin-Yu Chao wrote:
- sz_read = read(fd, *res, sz);
- if (sz_read < 0 || (size_t)sz_read != sz) {
err = -EIO;
free(*res);
*res = NULL;
- }
- /* Check if the tlv file specifies valid size. */
- tlv = (unsigned int *)(*res);
- if (tlv[1] + 2 * sizeof(unsigned int) != sz) {
why not use snd_ctl_tlv(), my assumption is that you are expecting a type, length and values in the buffer
Actually this implicitly checks the endianess of the read data.
Takashi