]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
linux: Use internal DIR locks when accessing filepos on telldir
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>
Tue, 14 Apr 2020 20:41:56 +0000 (17:41 -0300)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 27 May 2020 14:55:00 +0000 (11:55 -0300)
Since it might change during a readdir call.

Checked on x86_64-linux-gnu and i686-linux-gnu.

sysdeps/posix/telldir.c

index 1bb822c8075be731754c803f61bda1cccdfb028c..57d435ed21d2d1ab2c4e7ef41da162d25971cc52 100644 (file)
 long int
 telldir (DIR *dirp)
 {
-  return dirp->filepos;
+  long int ret;
+
+  __libc_lock_lock (dirp->lock);
+  ret = dirp->filepos;
+  __libc_lock_unlock (dirp->lock);
+
+  return ret;
 }