Replace rand() with g_random_int_range() 13/132913/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 01:01:37 +0000 (01:01 +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>
alarm-manager.c

index a96d06c..10d6a4f 100644 (file)
@@ -462,8 +462,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) {
@@ -2932,10 +2931,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;