diff options
author | Carl Worth <cworth@cworth.org> | 2009-04-13 14:35:11 -0700 |
---|---|---|
committer | Carl Worth <cworth@cworth.org> | 2009-04-13 14:35:11 -0700 |
commit | 28a1d6436e5067221b03c820c1b6fee2ef21d496 (patch) | |
tree | cfc282b4147945b3385f5ead09b08529c32a4760 | |
parent | 5b8c19445cdd736d679e12be196cd4db0aac0cb1 (diff) |
intel_gpu_dump: Use asprintf instead of a static-sized array
Not that we're really concerned about buffer-overrun attacks
against this utility, but still, good habits and clean code
are always preferred.
-rw-r--r-- | tools/intel_gpu_dump.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/tools/intel_gpu_dump.c b/tools/intel_gpu_dump.c index 6304372e9..fde263ca7 100644 --- a/tools/intel_gpu_dump.c +++ b/tools/intel_gpu_dump.c @@ -1970,10 +1970,10 @@ main (int argc, char *argv[]) } if (S_ISDIR(st.st_mode)) { - char filename[1000]; + char *filename; uint32_t ring_head, ring_tail, acthd; - sprintf(filename, "%s/i915_ringbuffer_info", path); + asprintf(&filename, "%s/i915_ringbuffer_info", path); err = stat(filename, &st); if (err != 0) { @@ -1988,19 +1988,22 @@ main (int argc, char *argv[]) } parse_ringbuffer_info(filename, &ring_head, &ring_tail, &acthd); + free (filename); - sprintf(filename, "%s/i915_batchbuffers", path); + asprintf (&filename, "%s/i915_batchbuffers", path); head_offset = acthd; tail_offset = 0xffffffff; read_data_file (filename, 1); + free (filename); - sprintf(filename, "%s/i915_ringbuffer_data", path); + asprintf (&filename, "%s/i915_ringbuffer_data", path); head_offset = ring_head; tail_offset = ring_tail; printf("Ringbuffer: "); printf("Reminder: head pointer is GPU read, tail pointer is CPU " "write\n"); read_data_file (filename, 0); + free (filename); } else { read_data_file (path, 1); } |