From cef698e6585c0ea2d86dbee415836525b631185f Mon Sep 17 00:00:00 2001 From: Christian Hergert Date: Thu, 2 Jul 2020 12:16:47 -0700 Subject: [PATCH] libsysprof-capture: wrap strdup to be NULL-safe --- src/libsysprof-capture/sysprof-capture-condition.c | 2 +- src/libsysprof-capture/sysprof-capture-reader.c | 6 +++--- src/libsysprof-capture/sysprof-macros-internal.h | 2 ++ 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/libsysprof-capture/sysprof-capture-condition.c b/src/libsysprof-capture/sysprof-capture-condition.c index 5322e091..8f891577 100644 --- a/src/libsysprof-capture/sysprof-capture-condition.c +++ b/src/libsysprof-capture/sysprof-capture-condition.c @@ -519,7 +519,7 @@ sysprof_capture_condition_new_where_file (const char *path) return NULL; self->type = SYSPROF_CAPTURE_CONDITION_WHERE_FILE; - self->u.where_file = strdup (path); + self->u.where_file = sysprof_strdup (path); if (self->u.where_file == NULL) { free (self); diff --git a/src/libsysprof-capture/sysprof-capture-reader.c b/src/libsysprof-capture/sysprof-capture-reader.c index cfa42a6c..2b103b57 100644 --- a/src/libsysprof-capture/sysprof-capture-reader.c +++ b/src/libsysprof-capture/sysprof-capture-reader.c @@ -284,7 +284,7 @@ sysprof_capture_reader_new (const char *filename, return NULL; } - self->filename = strdup (filename); + self->filename = sysprof_strdup (filename); return self; } @@ -1080,7 +1080,7 @@ sysprof_capture_reader_save_as (SysprofCaptureReader *self, } if (self->filename == NULL) - self->filename = strdup (filename); + self->filename = sysprof_strdup (filename); close (fd); @@ -1173,7 +1173,7 @@ sysprof_capture_reader_copy (SysprofCaptureReader *self) *copy = *self; copy->ref_count = 1; - copy->filename = strdup (self->filename); + copy->filename = sysprof_strdup (self->filename); copy->fd = fd; copy->end_time = self->end_time; copy->st_buf = self->st_buf; diff --git a/src/libsysprof-capture/sysprof-macros-internal.h b/src/libsysprof-capture/sysprof-macros-internal.h index 9fed4652..cf814dad 100644 --- a/src/libsysprof-capture/sysprof-macros-internal.h +++ b/src/libsysprof-capture/sysprof-macros-internal.h @@ -73,3 +73,5 @@ if (_p != NULL) \ (destroy) (_p); \ } while (0) + +#define sysprof_strdup(s) ((s) ? strdup(s) : NULL)