Re: [PATCH] IPVS: replace sprintf to snprintf to avoid stack buffer overflow

From: Changli Gao
Date: Mon Apr 05 2010 - 22:59:18 EST

On Tue, Apr 6, 2010 at 10:50 AM, <wzt.wzt@xxxxxxxxx> wrote:
> IPVS not check the length of pp->name, use sprintf will cause stack buffer overflow.
> struct ip_vs_protocol{} declare name as char *, if register a protocol as:
> struct ip_vs_protocol ip_vs_test = {
> Â Â Â Â.name = Â Â Â Â Â Â Â Â "",
> Â Â Â Â.debug_packet = Â Â Â Â ip_vs_tcpudp_debug_packet,
> };
> when called ip_vs_tcpudp_debug_packet(), sprintf(buf, "%s TRUNCATED", pp->name);
> will cause stack buffer overflow.

Long messages will be truncated instead of buffer overflow. We need to
find a way to handle long messages elegantly.

Changli Gao(xiaosuo@xxxxxxxxx)
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at