[Non-ACR][Calendar-service][Fixed ASAN issue TFDF-2241] 05/211605/2
authorkamaljeet <kamal.jc@samsung.com>
Wed, 7 Aug 2019 04:52:14 +0000 (10:22 +0530)
committerkamaljeet <kamal.jc@samsung.com>
Fri, 9 Aug 2019 09:28:36 +0000 (14:58 +0530)
Change-Id: Ic79aa5c0f0b52fcca8c6a9879535a6c2f1cf0223
Signed-off-by: kamaljeet <kamal.jc@samsung.com>
common/cal_record_attendee.c
common/cal_utils.c
common/cal_utils.h

index bb5cd92..63d4378 100644 (file)
@@ -260,7 +260,7 @@ static int _cal_record_attendee_set_str(calendar_record_h record, unsigned int p
                break;
        case CAL_PROPERTY_ATTENDEE_EMAIL:
                CAL_FREE(rec->attendee_email);
-               rec->attendee_email = cal_strdup(value);
+               rec->attendee_email = cal_strndup(value);
                break;
        case CAL_PROPERTY_ATTENDEE_DELEGATEE_URI:
                CAL_FREE(rec->attendee_delegatee_uri);
index 53cb573..e402ee1 100644 (file)
@@ -23,6 +23,8 @@
 #include <stdbool.h>
 #include "cal_internal.h"
 
+#define CAL_LIMIT 1000000
+
 char* cal_strdup(const char *src)
 {
        if (src)
@@ -30,6 +32,15 @@ char* cal_strdup(const char *src)
        return NULL;
 }
 
+
+char* cal_strndup(const char *src)
+{
+        if (src)
+                return strndup(src,CAL_LIMIT);
+        return NULL;
+}
+
+
 static gint _sort_cb(gconstpointer a, gconstpointer b)
 {
        return GPOINTER_TO_INT(a) < GPOINTER_TO_INT(b) ? -1 : 1;
index c241e25..024af44 100644 (file)
@@ -26,6 +26,7 @@ extern "C" {
 #endif
 
 char* cal_strdup(const char *src);
+char* cal_strndup(const char *src);
 char* cal_strdup_with_sort(const char *src);
 int cal_add_safe(int a, int b);