Hello Nigel,
- memset(ve->name, ' ', 16); + memset(ve->name, '\0', sizeof(ve->name)); if (name) - strncpy(ve->name, name, 16); + memcpy(ve->name, name, strnlen(ve->name, sizeof(ve->name))); ddf->virt->populated_vdes = cpu_to_be16(be16_to_cpu(ddf->virt->populated_vdes)+1);
As I wrote under v3, you should use 'name' instead 've->name' in strnlen. 've->name' has length 0. You can also consider usage of memccpy. Thanks, Mariusz