e_client: use rand_r() instead of rand() 72/290772/1 accepted/tizen/7.0/unified/20230405.151558
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 3 Apr 2023 02:55:28 +0000 (11:55 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 3 Apr 2023 04:50:35 +0000 (04:50 +0000)
we changed code to use rand_r instead of rand for thread safety

Change-Id: I0c0b35d1a42ace33428df7f11e3eebf4dc133d10

src/bin/e_client.c

index 15ab4252e68afe5b65cb9d1c9f2a9952ccaf3181..abcfd15d9b565d584ab6c3c9efae07ce52ec8ea2 100644 (file)
@@ -2920,12 +2920,14 @@ _e_client_apply_auto_placement(E_Client *ec)
    int zx = 0, zy = 0, zw = 0, zh = 0;
    e_zone_useful_geometry_get(ec->zone, &zx, &zy, &zw, &zh);
 
+   unsigned int seed = (unsigned int)time(NULL);
+
    if (zw > ec->w)
-     new_x = zx + (rand() % (zw - ec->w));
+     new_x = zx + (rand_r(&seed) % (zw - ec->w));
    else
      new_x = zx;
    if (zh > ec->h)
-     new_y = zy + (rand() % (zh - ec->h));
+     new_y = zy + (rand_r(&seed) % (zh - ec->h));
    else
      new_y = zy;