GNU bug report logs - #9077
coreutils-8.12: fiemap.h uses "struct fiemap_extent fm_extents[0];"

Previous Next

Package: coreutils;

Reported by: "Joachim Schmitz" <jojo <at> schmitz-digital.de>

Date: Thu, 14 Jul 2011 07:05:02 UTC

Severity: normal

Done: Paul Eggert <eggert <at> cs.ucla.edu>

Bug is archived. No further changes may be made.

Full log


Message #11 received at 9077 <at> debbugs.gnu.org (full text, mbox):

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Pádraig Brady <P <at> draigBrady.com>
Cc: Joachim Schmitz <jojo <at> schmitz-digital.de>, 9077 <at> debbugs.gnu.org
Subject: Re: bug#9077: coreutils-8.12: fiemap.h uses "struct fiemap_extent
	fm_extents[0]; "
Date: Thu, 14 Jul 2011 15:50:07 -0700
On 07/14/11 04:45, Pádraig Brady wrote:
> The non standard "zero length array" syntax was copied from
> the linux kernel headers. Changing this to a C99 flexible array
> as you suggest, should be fine according to the constraints listed here:

Won't this break non-GCC compilers that don't support
C99 flexible arrays?

Instead, how about this patch?  If I understand things correctly,
it should fix the problem on NonStop, and should also work with
pre-C99 non-GCC compilers.

diff --git a/src/fiemap.h b/src/fiemap.h
index 1938c74..e7243b4 100644
--- a/src/fiemap.h
+++ b/src/fiemap.h
@@ -51,8 +51,9 @@ struct fiemap
 
   uint32_t fm_reserved;
 
-  /* Array of mapped extents(out).  */
-  struct fiemap_extent fm_extents[0];
+  /* Array of mapped extents(out).
+     The actual size is given by fm_extent_count.  */
+  struct fiemap_extent fm_extents[1];
 };
 
 /* The maximum offset can be mapped for a file.  */




This bug report was last modified 14 years and 7 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.