On Tue, 5 Apr 2016, Wenda Ni wrote:
> Hi all,
>
> I come across the following code in a kernel module code. It defines
> an array whose length is variant at runtime, depending on the actual
> inputs. It seems that kernel compiler supports this, which is
> obvious an error in the standard ANSI C. Do I have the correct
> understanding on it?
>
> Thank you.
>
>
> u32 rxe_icrc_hdr(struct rxe_pkt_info *pkt, struct sk_buff *skb)
> {
> ...
> int hdr_size = sizeof(struct udphdr) +
> (skb->protocol == htons(ETH_P_IP) ?
> sizeof(struct iphdr) : sizeof(struct ipv6hdr));
> u8 tmp[hdr_size + RXE_BTH_BYTES];
> ...
> }
pretty sure "sizeof" can be calculated at compile time so i don't
see a problem here.
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies