Adjust the size passed to readlink so that the null termination
falls within the range of the path variable. Cribbed from the latest NetBSD source. Obtained from: provos@NetBSD.org
This commit is contained in:
parent
de4723f6e8
commit
7d5b77ef5f
@ -1,5 +1,3 @@
|
||||
/* $NetBSD: stat.c,v 1.6 2002/07/09 21:25:00 atatat Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2002 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
@ -38,7 +36,7 @@
|
||||
|
||||
#if 0
|
||||
#ifndef lint
|
||||
__RCSID("$NetBSD: stat.c,v 1.8 2002/08/13 20:15:06 atatat Exp $");
|
||||
__RCSID("$NetBSD: stat.c,v 1.9 2002/10/19 20:33:19 provos Exp $");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@ -688,7 +686,7 @@ format1(const struct stat *st,
|
||||
data = 0;
|
||||
if (S_ISLNK(st->st_mode)) {
|
||||
snprintf(path, sizeof(path), " -> ");
|
||||
l = readlink(file, path + 4, sizeof(path) - 4);
|
||||
l = readlink(file, path + 4, sizeof(path) - 4 - 1);
|
||||
if (l == -1) {
|
||||
linkfail = 1;
|
||||
l = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user