summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Worth <cworth@cworth.org>2009-04-13 14:35:11 -0700
committerCarl Worth <cworth@cworth.org>2009-04-13 14:35:11 -0700
commit28a1d6436e5067221b03c820c1b6fee2ef21d496 (patch)
treecfc282b4147945b3385f5ead09b08529c32a4760
parent5b8c19445cdd736d679e12be196cd4db0aac0cb1 (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.c11
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);
}