Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
cc6aebd4
Commit
cc6aebd4
authored
Apr 27, 2003
by
Muli Ben-Yehuda
Committed by
David S. Miller
Apr 27, 2003
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[NETFILTER]: ip_queue memory leaks
parent
dacfd283
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
2 deletions
+10
-2
net/ipv4/netfilter/ip_queue.c
net/ipv4/netfilter/ip_queue.c
+5
-1
net/ipv6/netfilter/ip6_queue.c
net/ipv6/netfilter/ip6_queue.c
+5
-1
No files found.
net/ipv4/netfilter/ip_queue.c
View file @
cc6aebd4
...
@@ -300,8 +300,9 @@ ipq_enqueue_packet(struct sk_buff *skb, struct nf_info *info, void *data)
...
@@ -300,8 +300,9 @@ ipq_enqueue_packet(struct sk_buff *skb, struct nf_info *info, void *data)
write_lock_bh
(
&
queue_lock
);
write_lock_bh
(
&
queue_lock
);
if
(
!
peer_pid
)
if
(
!
peer_pid
)
goto
err_out_
unlock
;
goto
err_out_
free_nskb
;
/* netlink_unicast will either free the nskb or attach it to a socket */
status
=
netlink_unicast
(
ipqnl
,
nskb
,
peer_pid
,
MSG_DONTWAIT
);
status
=
netlink_unicast
(
ipqnl
,
nskb
,
peer_pid
,
MSG_DONTWAIT
);
if
(
status
<
0
)
if
(
status
<
0
)
goto
err_out_unlock
;
goto
err_out_unlock
;
...
@@ -313,6 +314,9 @@ ipq_enqueue_packet(struct sk_buff *skb, struct nf_info *info, void *data)
...
@@ -313,6 +314,9 @@ ipq_enqueue_packet(struct sk_buff *skb, struct nf_info *info, void *data)
write_unlock_bh
(
&
queue_lock
);
write_unlock_bh
(
&
queue_lock
);
return
status
;
return
status
;
err_out_free_nskb:
kfree_skb
(
nskb
);
err_out_unlock:
err_out_unlock:
write_unlock_bh
(
&
queue_lock
);
write_unlock_bh
(
&
queue_lock
);
...
...
net/ipv6/netfilter/ip6_queue.c
View file @
cc6aebd4
...
@@ -304,8 +304,9 @@ ipq_enqueue_packet(struct sk_buff *skb, struct nf_info *info, void *data)
...
@@ -304,8 +304,9 @@ ipq_enqueue_packet(struct sk_buff *skb, struct nf_info *info, void *data)
write_lock_bh
(
&
queue_lock
);
write_lock_bh
(
&
queue_lock
);
if
(
!
peer_pid
)
if
(
!
peer_pid
)
goto
err_out_
unlock
;
goto
err_out_
free_nskb
;
/* netlink_unicast will either free the nskb or attach it to a socket */
status
=
netlink_unicast
(
ipqnl
,
nskb
,
peer_pid
,
MSG_DONTWAIT
);
status
=
netlink_unicast
(
ipqnl
,
nskb
,
peer_pid
,
MSG_DONTWAIT
);
if
(
status
<
0
)
if
(
status
<
0
)
goto
err_out_unlock
;
goto
err_out_unlock
;
...
@@ -317,6 +318,9 @@ ipq_enqueue_packet(struct sk_buff *skb, struct nf_info *info, void *data)
...
@@ -317,6 +318,9 @@ ipq_enqueue_packet(struct sk_buff *skb, struct nf_info *info, void *data)
write_unlock_bh
(
&
queue_lock
);
write_unlock_bh
(
&
queue_lock
);
return
status
;
return
status
;
err_out_free_nskb:
kfree_skb
(
nskb
);
err_out_unlock:
err_out_unlock:
write_unlock_bh
(
&
queue_lock
);
write_unlock_bh
(
&
queue_lock
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment