diff options
author | Jeff Dike <jdike@addtoit.com> | 2006-06-30 04:55:55 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-30 14:25:37 -0400 |
commit | 190f4939222b8c07cd62a20e1ce0c7a97fffde99 (patch) | |
tree | f3de1035774a1c6358231903d847f1313db7bf0b /arch/um/os-Linux/mem.c | |
parent | c2b7a4bb30008dc256d63802e02b6fb950958443 (diff) |
[PATCH] uml: fix off-by-one bug in VM file creation
Fix an off-by-one bug in temp file creation. Seeking to the desired length
and writing a byte resulted in the file being one byte longer than expected.
Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/um/os-Linux/mem.c')
-rw-r--r-- | arch/um/os-Linux/mem.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/um/os-Linux/mem.c b/arch/um/os-Linux/mem.c index d24d1a960523..560c8063c77c 100644 --- a/arch/um/os-Linux/mem.c +++ b/arch/um/os-Linux/mem.c | |||
@@ -210,8 +210,11 @@ int create_tmp_file(unsigned long long len) | |||
210 | exit(1); | 210 | exit(1); |
211 | } | 211 | } |
212 | 212 | ||
213 | if (lseek64(fd, len, SEEK_SET) < 0) { | 213 | /* Seek to len - 1 because writing a character there will |
214 | perror("os_seek_file"); | 214 | * increase the file size by one byte, to the desired length. |
215 | */ | ||
216 | if (lseek64(fd, len - 1, SEEK_SET) < 0) { | ||
217 | perror("os_seek_file"); | ||
215 | exit(1); | 218 | exit(1); |
216 | } | 219 | } |
217 | 220 | ||