projects
/
openwrt-10.03
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
wprobe-util: always print regular output to stdout instead of stderr
[openwrt-10.03/.git]
/
package
/
wprobe
/
src
/
kernel
/
wprobe-core.c
diff --git
a/package/wprobe/src/kernel/wprobe-core.c
b/package/wprobe/src/kernel/wprobe-core.c
index f9dd282d55a20f599d86fb5e3695a216ac0d1b4c..ed224577eec0cbce00f6fe50dc1f61ba2291b55c 100644
(file)
--- a/
package/wprobe/src/kernel/wprobe-core.c
+++ b/
package/wprobe/src/kernel/wprobe-core.c
@@
-203,6
+203,7
@@
wprobe_get_dev(struct nlattr *attr)
int
wprobe_add_frame(struct wprobe_iface *dev, const struct wprobe_wlan_hdr *hdr, void *data, int len)
{
int
wprobe_add_frame(struct wprobe_iface *dev, const struct wprobe_wlan_hdr *hdr, void *data, int len)
{
+ struct wprobe_wlan_hdr *new_hdr;
struct wprobe_filter *f;
struct sk_buff *skb;
unsigned long flags;
struct wprobe_filter *f;
struct sk_buff *skb;
unsigned long flags;
@@
-221,7
+222,10
@@
wprobe_add_frame(struct wprobe_iface *dev, const struct wprobe_wlan_hdr *hdr, vo
if (len + skb->len > WPROBE_MAX_FRAME_SIZE)
len = WPROBE_MAX_FRAME_SIZE - skb->len;
if (len + skb->len > WPROBE_MAX_FRAME_SIZE)
len = WPROBE_MAX_FRAME_SIZE - skb->len;
- memcpy(skb_put(skb, f->hdrlen), hdr, sizeof(struct wprobe_wlan_hdr));
+ new_hdr = (struct wprobe_wlan_hdr *) skb_put(skb, f->hdrlen);
+ memcpy(new_hdr, hdr, sizeof(struct wprobe_wlan_hdr));
+ new_hdr->len = cpu_to_be16(new_hdr->len);
+
memcpy(skb_put(skb, len), data, len);
for(i = 0; i < f->n_groups; i++) {
memcpy(skb_put(skb, len), data, len);
for(i = 0; i < f->n_groups; i++) {