git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git]
/
net
/
ipv6
/
ip6_flowlabel.c
diff --git
a/net/ipv6/ip6_flowlabel.c
b/net/ipv6/ip6_flowlabel.c
index
f9ca639
..
c19f5e3
100644
(file)
--- a/
net/ipv6/ip6_flowlabel.c
+++ b/
net/ipv6/ip6_flowlabel.c
@@
-287,9
+287,10
@@
fl_create(struct in6_flowlabel_req *freq, char __user *optval, int optlen, int *
int err;
err = -ENOMEM;
int err;
err = -ENOMEM;
- fl = k
z
alloc(sizeof(*fl), GFP_KERNEL);
+ fl = k
m
alloc(sizeof(*fl), GFP_KERNEL);
if (fl == NULL)
goto done;
if (fl == NULL)
goto done;
+ memset(fl, 0, sizeof(*fl));
olen = optlen - CMSG_ALIGN(sizeof(*freq));
if (olen > 0) {
olen = optlen - CMSG_ALIGN(sizeof(*freq));
if (olen > 0) {
@@
-588,6
+589,8
@@
static struct ip6_flowlabel *ip6fl_get_next(struct seq_file *seq, struct ip6_flo
while (!fl) {
if (++state->bucket <= FL_HASH_MASK)
fl = fl_ht[state->bucket];
while (!fl) {
if (++state->bucket <= FL_HASH_MASK)
fl = fl_ht[state->bucket];
+ else
+ break;
}
return fl;
}
}
return fl;
}
@@
-662,7
+665,7
@@
static int ip6fl_seq_open(struct inode *inode, struct file *file)
{
struct seq_file *seq;
int rc = -ENOMEM;
{
struct seq_file *seq;
int rc = -ENOMEM;
- struct ip6fl_iter_state *s = k
z
alloc(sizeof(*s), GFP_KERNEL);
+ struct ip6fl_iter_state *s = k
m
alloc(sizeof(*s), GFP_KERNEL);
if (!s)
goto out;
if (!s)
goto out;
@@
-673,6
+676,7
@@
static int ip6fl_seq_open(struct inode *inode, struct file *file)
seq = file->private_data;
seq->private = s;
seq = file->private_data;
seq->private = s;
+ memset(s, 0, sizeof(*s));
out:
return rc;
out_kfree:
out:
return rc;
out_kfree: