fix segfault on strdup

Origin commit data
------------------
Branch: master
Commit: 2bc96408f5
Author: Jacek Jendrzej <overx300@gmail.com>
Date: 2019-07-14 (Sun, 14 Jul 2019)


------------------
No further description and justification available within origin commit message!

------------------
This commit was generated by Migit
This commit is contained in:
Jacek Jendrzej
2019-07-14 23:40:08 +02:00
committed by vanhofen
parent bcd17148d4
commit ea00d20372

View File

@@ -822,6 +822,8 @@ static int Write(Context_t *context, void *_out)
if (video) if (video)
{ {
getLinuxDVBMutex();
char *Encoding = NULL; char *Encoding = NULL;
context->manager->video->Command(context, MANAGER_GETENCODING, &Encoding); context->manager->video->Command(context, MANAGER_GETENCODING, &Encoding);
@@ -915,9 +917,13 @@ static int Write(Context_t *context, void *_out)
} }
free(Encoding); free(Encoding);
releaseLinuxDVBMutex();
} }
else if (audio) else if (audio)
{ {
getLinuxDVBMutex();
char *Encoding = NULL; char *Encoding = NULL;
context->manager->audio->Command(context, MANAGER_GETENCODING, &Encoding); context->manager->audio->Command(context, MANAGER_GETENCODING, &Encoding);
@@ -965,6 +971,8 @@ static int Write(Context_t *context, void *_out)
} }
free(Encoding); free(Encoding);
releaseLinuxDVBMutex();
} }
return ret; return ret;
@@ -974,6 +982,9 @@ static int reset(Context_t *context)
{ {
int ret = cERR_LINUXDVB_NO_ERROR; int ret = cERR_LINUXDVB_NO_ERROR;
Writer_t *writer; Writer_t *writer;
getLinuxDVBMutex();
char *Encoding = NULL; char *Encoding = NULL;
context->manager->video->Command(context, MANAGER_GETENCODING, &Encoding); context->manager->video->Command(context, MANAGER_GETENCODING, &Encoding);
@@ -1008,9 +1019,12 @@ static int reset(Context_t *context)
free(Encoding); free(Encoding);
releaseLinuxDVBMutex();
if (isBufferedOutput) if (isBufferedOutput)
LinuxDvbBuffFlush(context); LinuxDvbBuffFlush(context);
return ret; return ret;
} }