check src before doing g_strlcpy and g_strlcat 92/227592/7
authorhj kim <backto.kim@samsung.com>
Fri, 13 Mar 2020 04:15:59 +0000 (13:15 +0900)
committerhj kim <backto.kim@samsung.com>
Fri, 13 Mar 2020 06:00:35 +0000 (15:00 +0900)
if src is NULL, get " GLib-CRITICAL **: g_strlcpy: assertion 'src != NULL' failed"

Change-Id: Ia14aec3378bb7dd45b26b740ae4a8ff53054a092

src/include/common/media-svc-util.h

index 28e0580..7129bbf 100755 (executable)
 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