Messages in this thread | | | Date | Thu, 2 Aug 2007 21:55:51 +0200 (CEST) | From | Guennadi Liakhovetski <> | Subject | gcc fixed size char array initialization bug - known? |
| |
Hi
I've run across the following gcc "feature":
char c[4] = "01234";
gcc emits a nice warning
warning: initializer-string for array of chars is too long
But do a
char c[4] = "0123";
and - a wonder - no warning. No warning with gcc 3.3.2, 3.3.5, 3.4.5, 4.1.2. I was told 4.2.x does produce a warning. Now do a
struct { char c[4]; int i; } t; t.i = 0x12345678; strcpy(t.c, c);
and t.i is silently corrupted. Just wanted to ask if this is known, really...
Thanks Guennadi --- Guennadi Liakhovetski - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |