From: John Harrison <john.c.harri...@intel.com>

The sysfs file read helper does not actually report any errors if a
realloc fails. It just silently returns a 'valid' but truncated
buffer. This then leads to the decode of the buffer failing in random
ways. So, add a check for ENOMEM being generated during the read.

Signed-off-by: John Harrison <john.c.harri...@intel.com>
---
 tests/i915/gem_exec_capture.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tests/i915/gem_exec_capture.c b/tests/i915/gem_exec_capture.c
index e373d24ed..8997125ee 100644
--- a/tests/i915/gem_exec_capture.c
+++ b/tests/i915/gem_exec_capture.c
@@ -131,9 +131,11 @@ static int check_error_state(int dir, struct offset 
*obj_offsets, int obj_count,
        char *error, *str;
        int blobs = 0;
 
+       errno = 0;
        error = igt_sysfs_get(dir, "error");
        igt_sysfs_set(dir, "error", "Begone!");
        igt_assert(error);
+       igt_assert(errno != ENOMEM);
        igt_debug("%s\n", error);
 
        /* render ring --- user = 0x00000000 ffffd000 */
-- 
2.25.1

Reply via email to