diff options
author | Matthieu Herrb <matthieu@herrb.eu> | 2024-05-05 16:36:31 +0200 |
---|---|---|
committer | Matthieu Herrb <matthieu@herrb.eu> | 2024-05-05 16:36:31 +0200 |
commit | a9eb1ab446d29ad32797953506ed39029b8d5e4c (patch) | |
tree | a1899d258abdc6333456d60eee66e1a03da6e988 | |
parent | 799cfe411dd087a366fe1b9ed67621ca5f381b80 (diff) | |
parent | f73f4ca720ccb2e9939545177b54f2be099e3b54 (diff) |
Merge remote-tracking branch 'origin/master' into obsd
-rw-r--r-- | src/common_vgaarb.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/common_vgaarb.c b/src/common_vgaarb.c index 515275f..a1edfab 100644 --- a/src/common_vgaarb.c +++ b/src/common_vgaarb.c @@ -238,6 +238,8 @@ pci_device_vgaarb_set_target(struct pci_device *dev) len = snprintf(buf, BUFSIZE, "target PCI:%04x:%02x:%02x.%x", dev->domain, dev->bus, dev->dev, dev->func); + if (len < 0 || len >= BUFSIZE) + return -1; ret = vgaarb_write(pci_sys->vgaarb_fd, buf, len); if (ret) @@ -268,6 +270,9 @@ pci_device_vgaarb_decodes(int new_vgaarb_rsrc) return 0; len = snprintf(buf, BUFSIZE, "decodes %s", rsrc_to_str(new_vgaarb_rsrc)); + if (len < 0 || len >= BUFSIZE) + return -1; + ret = vgaarb_write(pci_sys->vgaarb_fd, buf, len); if (ret == 0) dev->vgaarb_rsrc = new_vgaarb_rsrc; @@ -297,6 +302,8 @@ pci_device_vgaarb_lock(void) return 0; len = snprintf(buf, BUFSIZE, "lock %s", rsrc_to_str(dev->vgaarb_rsrc)); + if (len < 0 || len >= BUFSIZE) + return -1; return vgaarb_write(pci_sys->vgaarb_fd, buf, len); } @@ -315,6 +322,8 @@ pci_device_vgaarb_trylock(void) return 0; len = snprintf(buf, BUFSIZE, "trylock %s", rsrc_to_str(dev->vgaarb_rsrc)); + if (len < 0 || len >= BUFSIZE) + return -1; return vgaarb_write(pci_sys->vgaarb_fd, buf, len); } @@ -333,6 +342,8 @@ pci_device_vgaarb_unlock(void) return 0; len = snprintf(buf, BUFSIZE, "unlock %s", rsrc_to_str(dev->vgaarb_rsrc)); + if (len < 0 || len >= BUFSIZE) + return -1; return vgaarb_write(pci_sys->vgaarb_fd, buf, len); } |