Commit 72749a270b6d254b4a018e290b853c27edb2fa62

Authored by Dan Carpenter
Committed by Boaz Harrosh
1 parent 3e57638bb1

exofs: Cap on the memcpy() size

This data comes from the device, so probably it's fairly trustworthy but
it makes the static checkers happy if we check it.

[Boaz]
  the system_id_len is zero, if not present, or always OSD_SYSTEMID_LEN.
  So always copy OSD_SYSTEMID_LEN bytes.

Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Boaz Harrosh <bharrosh@panasas.com>

Showing 1 changed file with 2 additions and 1 deletions Side-by-side Diff

... ... @@ -529,7 +529,8 @@
529 529 struct osd_dev_info *odi)
530 530 {
531 531 odi->systemid_len = le32_to_cpu(dt_dev->systemid_len);
532   - memcpy(odi->systemid, dt_dev->systemid, odi->systemid_len);
  532 + if (likely(odi->systemid_len))
  533 + memcpy(odi->systemid, dt_dev->systemid, OSD_SYSTEMID_LEN);
533 534  
534 535 odi->osdname_len = le32_to_cpu(dt_dev->osdname_len);
535 536 odi->osdname = dt_dev->osdname;