[sysprof] libsysprof-capture: improve zero'ing when reading back



commit 4067b5e592f0f587545e681e5e96a8fe17bd0b08
Author: Christian Hergert <chergert redhat com>
Date:   Wed May 22 23:29:08 2019 -0700

    libsysprof-capture: improve zero'ing when reading back

 src/libsysprof-capture/sysprof-capture-reader.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/src/libsysprof-capture/sysprof-capture-reader.c b/src/libsysprof-capture/sysprof-capture-reader.c
index b42a553..4c063c6 100644
--- a/src/libsysprof-capture/sysprof-capture-reader.c
+++ b/src/libsysprof-capture/sysprof-capture-reader.c
@@ -523,7 +523,8 @@ sysprof_capture_reader_read_mark (SysprofCaptureReader *self)
 
   /* Ensure trailing \0 in name and message */
   mark->name[sizeof mark->name - 1] = 0;
-  self->buf[self->pos + mark->frame.len - 1] = 0;
+  if (mark->frame.len > sizeof *mark)
+    ((gchar *)mark)[mark->frame.len - 1] = 0;
 
   /* Maybe update end-time */
   if G_UNLIKELY ((mark->frame.time + mark->duration) > self->end_time)
@@ -566,7 +567,8 @@ sysprof_capture_reader_read_metadata (SysprofCaptureReader *self)
 
   /* Ensure trailing \0 in .id and .metadata */
   metadata->id[sizeof metadata->id - 1] = 0;
-  self->buf[self->pos + metadata->frame.len - 1] = 0;
+  if (metadata->frame.len > sizeof *metadata)
+    ((gchar *)metadata)[metadata->frame.len - 1] = 0;
 
   return metadata;
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]