- csn->bv_len = lutil_csnstr( csnbuf, len, 0, 0 );
- csn->bv_val = csnbuf;
+#ifndef HAVE_GMTIME_R
+ ldap_pvt_thread_mutex_lock( &gmtime_mutex );
+#endif
+ csn->bv_len = lutil_csnstr( csn->bv_val, csn->bv_len, 0, 0 );
+#ifndef HAVE_GMTIME_R
+ ldap_pvt_thread_mutex_unlock( &gmtime_mutex );
+#endif