summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2011-02-10 10:54:39 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2011-02-10 10:54:39 +0000
commitc407041ebbe0ad1944dc713ec342fd9b57efb8b2 (patch)
tree713ba67b2517216f6bc0a3114a3e8372692460b9 /tools
parent2c9b293927b5f6bd48c71e2657ca5d7a524a59f8 (diff)
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 <chris@chris-wilson.co.uk>
Diffstat (limited to 'tools')
-rw-r--r--tools/intel_gpu_dump.c28
1 files changed, 13 insertions, 15 deletions
diff --git a/tools/intel_gpu_dump.c b/tools/intel_gpu_dump.c
index 4cf45769..0049f643 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);
}