Replace rand() with g_random_int_range() 57/133157/2
authorJiwoong Im <jiwoong.im@samsung.com>
Thu, 8 Jun 2017 08:42:56 +0000 (17:42 +0900)
committerJiwoong Im <jiwoong.im@samsung.com>
Fri, 9 Jun 2017 05:23:38 +0000 (05:23 +0000)
- If unique_id are generated consecutively within one second,
  the same id can be generated.

Change-Id: I7937bd75ecaffbf5b173a9cc95dcf3064190a90e
Signed-off-by: Jiwoong Im <jiwoong.im@samsung.com>
(cherry picked from commit 8178ffd979666a24acb26372d28142682cbfed12)

alarm-manager.c

index 8ca2710..00ed092 100644 (file)
@@ -417,8 +417,7 @@ static void __alarm_generate_alarm_id(__alarm_info_t *__alarm_info, alarm_id_t *
        __alarm_info_t *entry = NULL;
        GSList *iter = NULL;
 
-       srand((unsigned int)time(NULL));
-       __alarm_info->alarm_id = (rand() % INT_MAX) + 1;
+       __alarm_info->alarm_id = g_random_int_range(0, INT_MAX) + 1;
        ALARM_MGR_LOG_PRINT("__alarm_info->alarm_id is %d", __alarm_info->alarm_id);
 
        while (unique_id == false) {
@@ -2855,10 +2854,8 @@ gboolean alarm_manager_alarm_create(AlarmManager *obj, GDBusMethodInvocation *in
 time_t _get_periodic_alarm_standard_time(void)
 {
        /* To avoid start time of all devices are same. */
-       if (periodic_alarm_standard_time == 0) {
-               srand((unsigned int)time(NULL));
-               periodic_alarm_standard_time = rand() % BILLION + 1; /* 1 ~ 1000000000 */
-       }
+       if (periodic_alarm_standard_time == 0)
+               periodic_alarm_standard_time = g_random_int_range(0, BILLION) + 1;
 
        ALARM_MGR_LOG_PRINT("periodic_standard_time : [%d]", periodic_alarm_standard_time);
        return periodic_alarm_standard_time;