mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-03 14:08:56 +00:00
decklink: Calculate string size before malloc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4738>
This commit is contained in:
parent
ab946cd41e
commit
72e7ae724f
1 changed files with 9 additions and 1 deletions
|
@ -50,7 +50,15 @@
|
||||||
#include "osx/DeckLinkAPI.h"
|
#include "osx/DeckLinkAPI.h"
|
||||||
|
|
||||||
#define COMSTR_T CFStringRef
|
#define COMSTR_T CFStringRef
|
||||||
#define CONVERT_COM_STRING(s) G_STMT_START { CFStringRef _s = (CFStringRef)s; s = (char*) malloc(100); CFStringGetCString(_s, s, 100, kCFStringEncodingUTF8); CFRelease(_s); } G_STMT_END
|
#define CONVERT_COM_STRING(s) G_STMT_START { \
|
||||||
|
CFStringRef _s = (CFStringRef)s; \
|
||||||
|
CFIndex _length; \
|
||||||
|
CFStringGetBytes(_s, CFRangeMake(0, CFStringGetLength(_s)), kCFStringEncodingUTF8, 0, FALSE, NULL, 0, &_length); \
|
||||||
|
_length += 1; \
|
||||||
|
s = (char *) malloc(_length); \
|
||||||
|
CFStringGetCString(_s, s, _length, kCFStringEncodingUTF8); \
|
||||||
|
CFRelease(_s); \
|
||||||
|
} G_STMT_END
|
||||||
#define FREE_COM_STRING(s) free(s);
|
#define FREE_COM_STRING(s) free(s);
|
||||||
#define CONVERT_TO_COM_STRING(s) G_STMT_START { char * _s = (char *)s; s = CFStringCreateWithCString(kCFAllocatorDefault, _s, kCFStringEncodingUTF8); g_free(_s); } G_STMT_END
|
#define CONVERT_TO_COM_STRING(s) G_STMT_START { char * _s = (char *)s; s = CFStringCreateWithCString(kCFAllocatorDefault, _s, kCFStringEncodingUTF8); g_free(_s); } G_STMT_END
|
||||||
#define WINAPI
|
#define WINAPI
|
||||||
|
|
Loading…
Reference in a new issue