ppp_generic.c warning fix
PATCH 1/1 ppp_generic.c warning fix
Hi, I had been getting this warning for a while, decided to do something about it :-)
The warning:
gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=athlon -DMODULE -nostdinc -I /usr/lib/gcc-lib/i386-linux/3.2.1/include -DKBUILD_BASENAME=ppp_generic
-DEXPORT_SYMTAB -c ppp_generic.cppp_generic.c: In function `ppp_read':
ppp_generic.c:381: warning: `ret' might be used uninitialized in this function
I realise 2.5 has this fixed, but for some reason they initialize it as count, but shortly after that it gets set back to 0...
[attached patch as well, incase the inline one got fubared. I don't trust paste]
------------------------------------------------------------------------
diff -urN linux-2.4.19-old/drivers/net/ppp_generic.c linux-2.4.19-new/drivers/net/ppp_generic.c
--- linux-2.4.19-old/drivers/net/ppp_generic.c 2002-07-20
20:52:50.000000000 +1000
+++ linux-2.4.19-new/drivers/net/ppp_generic.c 2002-09-17
18:12:19.000000000 +1000
@@ -378,18 +378,20 @@
{
struct ppp_file *pf = file->private_data; DECLARE_WAITQUEUE(wait, current);
- ssize_t ret;
+ ssize_t ret = 0;
struct sk_buff *skb = 0;
- if (pf == 0)
- return -ENXIO;
+ if (pf == 0) {
+ ret = -ENXIO;
+ goto out;
+ }
+
add_wait_queue(&pf->rwait, &wait); for (;;) {
set_current_state(TASK_INTERRUPTIBLE); skb = skb_dequeue(&pf->rq); if (skb)
break;
- ret = 0;
if (pf->dead)
break;
ret = -EAGAIN;
drivers/net/ppp_generic.c +6 -4
@@ -378,18 +378,20 @@ {struct ppp_file *pf = file->private_data;DECLARE_WAITQUEUE (wait, current); -ssize_t ret; +ssize_t ret =0 ;struct sk_buff *skb =0 ; -if (pf ==0 ) -return -ENXIO ; +if (pf ==0 ) { + ret = -ENXIO ; + goto out; + } +add_wait_queue (&pf->rwait, &wait);for (;;) {set_current_state (TASK_INTERRUPTIBLE ); skb =skb_dequeue (&pf->rq);if (skb)break ; - ret =0 ;if (pf->dead)break ; ret = -EAGAIN ;