]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - net/rose/rose_loopback.c
rose: Fix Null pointer dereference in rose_send_frame()
[mirror_ubuntu-jammy-kernel.git] / net / rose / rose_loopback.c
index 7b094275ea8b4aec4542bd084bca86c962b70edc..11c45c8c6c1641781dd733e93e5453c2be75340b 100644 (file)
@@ -96,10 +96,19 @@ static void rose_loopback_timer(struct timer_list *unused)
                }
 
                if (frametype == ROSE_CALL_REQUEST) {
-                       if ((dev = rose_dev_get(dest)) != NULL) {
-                               if (rose_rx_call_request(skb, dev, rose_loopback_neigh, lci_o) == 0)
-                                       kfree_skb(skb);
-                       } else {
+                       if (!rose_loopback_neigh->dev) {
+                               kfree_skb(skb);
+                               continue;
+                       }
+
+                       dev = rose_dev_get(dest);
+                       if (!dev) {
+                               kfree_skb(skb);
+                               continue;
+                       }
+
+                       if (rose_rx_call_request(skb, dev, rose_loopback_neigh, lci_o) == 0) {
+                               dev_put(dev);
                                kfree_skb(skb);
                        }
                } else {