From c407041ebbe0ad1944dc713ec342fd9b57efb8b2 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Thu, 10 Feb 2011 10:54:39 +0000 Subject: [PATCH] tools/intel_gpu_dump: Replace asprintf with snprintf The maximum filename is limited so we can simply use a large buffer rather than fail to check the error return from asprintf. Signed-off-by: Chris Wilson --- tools/intel_gpu_dump.c | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/tools/intel_gpu_dump.c b/tools/intel_gpu_dump.c index 4cf4576..0049f64 100644 --- a/tools/intel_gpu_dump.c +++ b/tools/intel_gpu_dump.c @@ -247,6 +247,7 @@ parse_ringbuffer_info(const char *filename, int main (int argc, char *argv[]) { + char filename[4096]; const char *path; struct stat st; int err; @@ -302,10 +303,10 @@ main (int argc, char *argv[]) } if (S_ISDIR(st.st_mode)) { - char *filename; uint32_t ring_head, ring_tail, acthd; - asprintf(&filename, "%s/i915_ringbuffer_info", path); + snprintf(filename, sizeof(filename), + "%s/i915_ringbuffer_info", path); err = stat(filename, &st); if (err != 0) { @@ -320,7 +321,6 @@ main (int argc, char *argv[]) } parse_ringbuffer_info(filename, &ring_head, &ring_tail, &acthd); - free (filename); printf("ACTHD: 0x%08x\n", acthd); printf("EIR: 0x%08x\n", INREG(EIR)); @@ -354,42 +354,40 @@ main (int argc, char *argv[]) print_instdone (instdone, instdone1); - asprintf (&filename, "%s/i915_batchbuffers", path); + snprintf(filename, sizeof(filename), "%s/i915_batchbuffers", path); intel_decode_context_set_head_tail(acthd, 0xffffffff); read_data_file (devid, filename, 1); - free (filename); - asprintf (&filename, "%s/i915_ringbuffer_data", path); + snprintf(filename, sizeof(filename), "%s/i915_ringbuffer_data", path); intel_decode_context_set_head_tail(ring_head, ring_tail); printf("Ringbuffer: "); printf("Reminder: head pointer is GPU read, tail pointer is CPU " "write\n"); read_data_file (devid, filename, 0); - free (filename); - asprintf(&filename, "%s/i915_blt_ringbuffer_info", path); + snprintf(filename, sizeof(filename), + "%s/i915_blt_ringbuffer_info", path); if (stat(filename, &st) == 0) { parse_ringbuffer_info(filename, &ring_head, &ring_tail, &acthd); - free(filename); - asprintf (&filename, "%s/i915_blt_ringbuffer_data", path); + snprintf(filename, sizeof(filename), + "%s/i915_blt_ringbuffer_data", path); intel_decode_context_set_head_tail(ring_head, ring_tail); printf("BLT Ringbuffer: "); read_data_file (devid, filename, 0); } - free (filename); - asprintf(&filename, "%s/i915_bsd_ringbuffer_info", path); + snprintf(filename, sizeof(filename), + "%s/i915_bsd_ringbuffer_info", path); if (stat(filename, &st) == 0) { parse_ringbuffer_info(filename, &ring_head, &ring_tail, &acthd); - free(filename); - asprintf (&filename, "%s/i915_bsd_ringbuffer_data", path); + snprintf(filename, sizeof(filename), + "%s/i915_bsd_ringbuffer_data", path); intel_decode_context_set_head_tail(ring_head, ring_tail); printf("BSD Ringbuffer: "); read_data_file (devid, filename, 0); } - free (filename); } else { read_data_file (devid, path, 1); } -- 2.7.4