[PATCH libpciaccess 1/2] vgaarb: add a the trailing NULL character on read(vgaarb_fd)
Emil Velikov
emil.l.velikov at gmail.com
Sun May 1 17:33:23 UTC 2016
Somewhat of an annual ping. Anyone, please ?
On 6 March 2015 at 20:09, Emil Velikov <emil.l.velikov at gmail.com> wrote:
> Another humble ping. Can we get any comments on these two patches ?
>
> Thanks
> Emil
>
> On 27 February 2015 at 16:16, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>> Humble ping ?
>>
>> On 23 February 2015 at 21:31, Emil Velikov <emil.l.velikov at gmail.com> wrote:
>>> From: arsharma <ankitprasad.r.sharma at intel.com>
>>>
>>> Issue was spotted by Klocwork, and fixed by arsharma as part of
>>> Android-ia. Not 100% sure if the data read from /dev/vga_arbiter is not
>>> already null terminated, but making sure won't hurt either.
>>>
>>> [Emil Velikov: Split from larger patch, write commit message]
>>> Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
>>> ---
>>> src/common_vgaarb.c | 12 +++++++++---
>>> 1 file changed, 9 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/src/common_vgaarb.c b/src/common_vgaarb.c
>>> index 7a7d204..515275f 100644
>>> --- a/src/common_vgaarb.c
>>> +++ b/src/common_vgaarb.c
>>> @@ -126,7 +126,7 @@ int
>>> pci_device_vgaarb_init(void)
>>> {
>>> struct pci_slot_match match;
>>> - char buf[BUFSIZE];
>>> + char buf[BUFSIZE + 1]; /* reading BUFSIZE characters, + 1 for NULL */
>>> int ret, rsrc;
>>>
>>> if (!pci_sys)
>>> @@ -140,6 +140,8 @@ pci_device_vgaarb_init(void)
>>> if (ret <= 0)
>>> return -1;
>>>
>>> + buf[ret] = 0; /* ret will never be greater than BUFSIZE */
>>> +
>>> memset(&match, 0xff, sizeof(match));
>>> /* need to find the device to go back to and what it was decoding */
>>> rsrc = parse_string_to_decodes_rsrc(buf, &pci_sys->vga_count, &match);
>>> @@ -226,7 +228,7 @@ int
>>> pci_device_vgaarb_set_target(struct pci_device *dev)
>>> {
>>> int len;
>>> - char buf[BUFSIZE];
>>> + char buf[BUFSIZE + 1]; /* reading BUFSIZE characters, + 1 for NULL */
>>> int ret;
>>>
>>> if (!dev)
>>> @@ -245,6 +247,8 @@ pci_device_vgaarb_set_target(struct pci_device *dev)
>>> if (ret <= 0)
>>> return -1;
>>>
>>> + buf[ret] = 0; /* ret will never be greater than BUFSIZE */
>>> +
>>> dev->vgaarb_rsrc = parse_string_to_decodes_rsrc(buf, &pci_sys->vga_count, NULL);
>>> pci_sys->vga_target = dev;
>>> return 0;
>>> @@ -254,7 +258,7 @@ int
>>> pci_device_vgaarb_decodes(int new_vgaarb_rsrc)
>>> {
>>> int len;
>>> - char buf[BUFSIZE];
>>> + char buf[BUFSIZE + 1]; /* reading BUFSIZE characters, + 1 for NULL */
>>> int ret;
>>> struct pci_device *dev = pci_sys->vga_target;
>>>
>>> @@ -272,6 +276,8 @@ pci_device_vgaarb_decodes(int new_vgaarb_rsrc)
>>> if (ret <= 0)
>>> return -1;
>>>
>>> + buf[ret] = 0; /* ret will never be greater than BUFSIZE */
>>> +
>>> parse_string_to_decodes_rsrc(buf, &pci_sys->vga_count, NULL);
>>>
>>> return ret;
>>> --
>>> 2.3.0
>>>
More information about the xorg-devel
mailing list