From: hj kim Date: Fri, 13 Mar 2020 04:15:59 +0000 (+0900) Subject: check src before doing g_strlcpy and g_strlcat X-Git-Tag: accepted/tizen/unified/20200315.214848^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F92%2F227592%2F7;p=platform%2Fcore%2Fmultimedia%2Flibmedia-service.git check src before doing g_strlcpy and g_strlcat if src is NULL, get " GLib-CRITICAL **: g_strlcpy: assertion 'src != NULL' failed" Change-Id: Ia14aec3378bb7dd45b26b740ae4a8ff53054a092 --- diff --git a/src/include/common/media-svc-util.h b/src/include/common/media-svc-util.h index 28e0580..7129bbf 100755 --- a/src/include/common/media-svc-util.h +++ b/src/include/common/media-svc-util.h @@ -34,12 +34,25 @@ extern "C" { #endif -#define SAFE_FREE(src) { if (src) {free(src); src = NULL; } } -#define STRING_VALID(str) \ - ((str != NULL && strlen(str) > 0) ? true : false) +#define STRING_VALID(str) (str != NULL && strlen(str) > 0) -#define SAFE_STRLCAT(dst, src, n) g_strlcat(dst, src, n); -#define SAFE_STRLCPY(dst, src, n) g_strlcpy(dst, src, n); +#define SAFE_FREE(src) do { \ + if (src) { \ + free(src); \ + src = NULL; \ + } \ + } while (0) + + +#define SAFE_STRLCAT(dst, src, n) do { \ + if (src) \ + g_strlcat(dst, src, n); \ + } while (0) + +#define SAFE_STRLCPY(dst, src, n) do { \ + if (src) \ + g_strlcpy(dst, src, n); \ + } while (0) /** * Media meta data information