[vlc-devel] [PATCH] libvlc: fix possible free() of static const char[]
Jerome Forissier
jerome at taodyne.com
Thu Feb 27 16:53:24 CET 2014
---
lib/error.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/error.c b/lib/error.c
index f942f4d..45397a6 100644
--- a/lib/error.c
+++ b/lib/error.c
@@ -33,11 +33,17 @@ static vlc_threadvar_t context;
static vlc_mutex_t lock = VLC_STATIC_MUTEX;
static uintptr_t refs = 0;
+static void free_msg (void *msg)
+{
+ if (msg != oom)
+ free (msg);
+}
+
void libvlc_threads_init (void)
{
vlc_mutex_lock (&lock);
if (refs++ == 0)
- vlc_threadvar_create (&context, free);
+ vlc_threadvar_create (&context, free_msg);
vlc_mutex_unlock (&lock);
}
@@ -57,9 +63,7 @@ static char *get_error (void)
static void free_error (void)
{
- char *msg = get_error ();
- if (msg != oom)
- free (msg);
+ free_msg (get_error ());
}
/**
--
1.8.1.5
More information about the vlc-devel
mailing list