From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jx0US-0006qC-Rq for qemu-devel@nongnu.org; Fri, 16 May 2008 10:00:56 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jx0UR-0006oC-6J for qemu-devel@nongnu.org; Fri, 16 May 2008 10:00:55 -0400 Received: from [199.232.76.173] (port=48227 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jx0UR-0006nz-2i for qemu-devel@nongnu.org; Fri, 16 May 2008 10:00:55 -0400 Received: from yw-out-1718.google.com ([74.125.46.152]:19961) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jx0UQ-0007lf-G8 for qemu-devel@nongnu.org; Fri, 16 May 2008 10:00:54 -0400 Received: by yw-out-1718.google.com with SMTP id 6so530483ywa.82 for ; Fri, 16 May 2008 07:00:42 -0700 (PDT) Message-ID: <482D9387.7070807@codemonkey.ws> Date: Fri, 16 May 2008 09:00:39 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] Use of PATH_MAX References: <18477.36259.30442.280531@mariner.uk.xensource.com> In-Reply-To: <18477.36259.30442.280531@mariner.uk.xensource.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Ian Jackson wrote: > There are a couple of places where we use PATH_MAX. I don't think > this is right. PATH_MAX is a #define specified by POSIX, SuSv3 etc. > But it isn't guaranteed to be defined or necessarily very useful. > > In particular, it may be defined to a very large value (larger than a > practical static buffer). Or on systems where the maximum pathname > length varies (for example, it depends on the underlying filesystem) > it may be not defined at all and applications which really need to > know are supposed to use pathconf. > > I think it would be better to invent a new name for the maximum path > length supported by qemu's statically-sized buffers. This would > replace both the uses of PATH_MAX (in block.c, linux-user/path.c, and > block-vvfat.c) but also direct use of (eg) 1024 in many places. > It would be far better to get rid of instances of PATH_MAX and replace them with dynamically allocated buffers. The use of static sized buffers for filenames is just asking for subtle bugs (and possibly even security problems. Regards, Anthony Liguori