On 03/01/2018 07:10 PM, Andrew Lunn wrote:
>> +void mv88e6352_serdes_get_strings(struct mv88e6xxx_chip *chip,
>> +                              int port, uint8_t *data)
>> +{
>> +    struct mv88e6352_serdes_hw_stat *stat;
>> +    int i;
>> +
>> +    if (!mv88e6352_port_has_serdes(chip, port))
>> +            return;
>> +
>> +    for (i = 0; i < ARRAY_SIZE(mv88e6352_serdes_hw_stats); i++) {
>> +            stat = &mv88e6352_serdes_hw_stats[i];
>> +            memcpy(data + i * ETH_GSTRING_LEN, stat->string,
>> +                   ETH_GSTRING_LEN);
> 
> This has the same problem as Florain just fixed, using memcpy instead
> of strcnpy. I will spin a new version with this fixed.

This is fine actually, your strings are defined as an array of
ETH_GSTRING_LEN characters so while the memcpy() is a bit inefficient
and will typically lead to copying a lot of NUL bytes, this won't be
causing out of bounds accesses though.
-- 
Florian

Reply via email to