libs/srdb1: use thread safe localtime_r()
authorDaniel-Constantin Mierla <miconda@gmail.com>
Mon, 4 May 2020 16:26:47 +0000 (18:26 +0200)
committerDaniel-Constantin Mierla <miconda@gmail.com>
Mon, 4 May 2020 16:26:47 +0000 (18:26 +0200)
src/lib/srdb1/db_ut.c

index 39ac11d..318b442 100644 (file)
@@ -350,7 +350,7 @@ int db_str2time(const char* _s, time_t* _v)
  */
 int db_time2str_ex(time_t _v, char* _s, int* _l, int _qmode)
 {
-       struct tm* t;
+       struct tm t;
        int l;
 
        if ((!_s) || (!_l) || (*_l < 2)) {
@@ -361,8 +361,8 @@ int db_time2str_ex(time_t _v, char* _s, int* _l, int _qmode)
        if(_qmode) *_s++ = '\'';
 
        /* Convert time_t structure to format accepted by the database */
-       t = localtime(&_v);
-       l = strftime(_s, *_l -1, "%Y-%m-%d %H:%M:%S", t);
+       localtime_r(&_v, &t);
+       l = strftime(_s, *_l -1, "%Y-%m-%d %H:%M:%S", &t);
 
        if (l == 0) {
                LM_ERR("Error during time conversion\n");