[PATCH] Fix possible race condition in readlink.2 example

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Michael,

I noticed that the example in the readlink.2 man pages does error
checking for a race condition that would cause the value of the symbolic
link to get larger.  However, it doesn't handle the opposite case, in
which the value gets shorter.  (The NULL terminator is always set at the
old, longer offset.)  This could cause a program to operate on
uninitialized data.

Here's a patch against 3.52:



>From 3db3021cc137937c79f95d2aa1c2820b20732c22 Mon Sep 17 00:00:00 2001
From: Chuck Coffing <clc@xxxxxxxxxxxx>
Date: Mon, 15 Jul 2013 10:11:15 -0600
Subject: [PATCH] Fix possible race condition in readlink.2 example

---
 man2/readlink.2 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/man2/readlink.2 b/man2/readlink.2
index f4ee2cb..9633149 100644
--- a/man2/readlink.2
+++ b/man2/readlink.2
@@ -204,7 +204,7 @@ main(int argc, char *argv[])
         exit(EXIT_FAILURE);
     }
 
-    linkname[sb.st_size] = \(aq\\0\(aq;
+    linkname[r] = \(aq\\0\(aq;
 
     printf("\(aq%s\(aq points to \(aq%s\(aq\\n", argv[1], linkname);
 
-- 
1.8.3.2

--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux