From 06367fa30be84b87781b591ce53074536d44744d Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=A9mie=20Galarneau?= Date: Sat, 17 Dec 2016 12:11:29 -0500 Subject: [PATCH] Fix: passing NULL to glib mapped file unref function is not allowed MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérémie Galarneau --- plugins/ctf/fs/data-stream.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/plugins/ctf/fs/data-stream.c b/plugins/ctf/fs/data-stream.c index cd414c5c..949c2c3a 100644 --- a/plugins/ctf/fs/data-stream.c +++ b/plugins/ctf/fs/data-stream.c @@ -217,6 +217,10 @@ int build_index_from_idx_file(struct ctf_fs_stream *stream) index_file_path = g_build_filename(directory, "index", index_basename->str, NULL); mapped_file = g_mapped_file_new(index_file_path, FALSE, NULL); + if (!mapped_file) { + ret = -1; + goto end; + } filesize = g_mapped_file_get_length(mapped_file); if (filesize < sizeof(*header)) { printf_error("Invalid LTTng trace index: file size < header size"); @@ -294,8 +298,12 @@ end: g_free(directory); g_free(basename); g_free(index_file_path); - g_string_free(index_basename, TRUE); - g_mapped_file_unref(mapped_file); + if (index_basename) { + g_string_free(index_basename, TRUE); + } + if (mapped_file) { + g_mapped_file_unref(mapped_file); + } return ret; invalid_index: g_array_free(stream->index.entries, TRUE); -- 2.34.1