|
@@ -136,10 +136,9 @@ static ssize_t bat_socket_read(struct file *file, char __user *buf,
|
|
|
|
|
|
spin_unlock_bh(&socket_client->lock);
|
|
|
|
|
|
- error = copy_to_user(buf, &socket_packet->icmp_packet,
|
|
|
- socket_packet->icmp_len);
|
|
|
+ packet_len = min(count, socket_packet->icmp_len);
|
|
|
+ error = copy_to_user(buf, &socket_packet->icmp_packet, packet_len);
|
|
|
|
|
|
- packet_len = socket_packet->icmp_len;
|
|
|
kfree(socket_packet);
|
|
|
|
|
|
if (error)
|