When trying to get a device name for an fd using sysfs, it would always fail as it was expecting key/value pairs to be delimited by '\0', which is not the case.
Signed-off-by: Frank Binns <frank.bi...@imgtec.com> --- src/loader/loader.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/loader/loader.c b/src/loader/loader.c index 0348759..7221141 100644 --- a/src/loader/loader.c +++ b/src/loader/loader.c @@ -642,7 +642,7 @@ sysfs_get_device_name_for_fd(int fd) unsigned int maj, min; FILE *f; char buf[0x40]; - static const char match[9] = "\0DEVNAME="; + static const char match[9] = "\nDEVNAME="; int expected = 1; if (dev_node_from_fd(fd, &maj, &min) < 0) @@ -665,8 +665,10 @@ sysfs_get_device_name_for_fd(int fd) } strcpy(buf, "/dev/"); - if (fgets(buf + 5, sizeof(buf) - 5, f)) + if (fgets(buf + 5, sizeof(buf) - 5, f)) { + buf[strcspn(buf, "\n")] = '\0'; device_name = strdup(buf); + } fclose(f); return device_name; -- 2.7.4 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev