Browse Source

avdevice/decklink_common: fix heap corruption run time error

Signed-off-by: Jonathan Baecker <jonbae77@gmail.com>
Reviewed-by: Ramiro Polla <ramiro.polla@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.5
Jonathan Baecker Michael Niedermayer 10 years ago
parent
commit
5a57f389f4
1 changed files with 4 additions and 2 deletions
  1. +4
    -2
      libavdevice/decklink_common.cpp

+ 4
- 2
libavdevice/decklink_common.cpp View File

@@ -69,9 +69,12 @@ static char *dup_wchar_to_utf8(wchar_t *w)
}
#define DECKLINK_STR OLECHAR *
#define DECKLINK_STRDUP dup_wchar_to_utf8
#define DECKLINK_FREE(s) SysFreeString(s)
#else
#define DECKLINK_STR const char *
#define DECKLINK_STRDUP av_strdup
/* free() is needed for a string returned by the DeckLink SDL. */
#define DECKLINK_FREE(s) free((void *) s)
#endif

HRESULT ff_decklink_get_display_name(IDeckLink *This, const char **displayName)
@@ -81,8 +84,7 @@ HRESULT ff_decklink_get_display_name(IDeckLink *This, const char **displayName)
if (hr != S_OK)
return hr;
*displayName = DECKLINK_STRDUP(tmpDisplayName);
/* free() is needed for a string returned by the DeckLink SDL. */
free((void *) tmpDisplayName);
DECKLINK_FREE(tmpDisplayName);
return hr;
}



Loading…
Cancel
Save