C 写入只读P3IN
我正在尝试使用计算头压缩后IPv6数据包的哈希值。哈希是在压缩的IPv6报头和有效负载上计算的 第行提到IP数据包最初位于C 写入只读P3IN,c,contiki,C,Contiki,我正在尝试使用计算头压缩后IPv6数据包的哈希值。哈希是在压缩的IPv6报头和有效负载上计算的 第行提到IP数据包最初位于uip\u buf中,uip\u len给出了uip\u buf中内容的长度 夸克的原型是int夸克(u8*out,常数u8*in,u64-inlen) 我正在呼叫夸克(out,uip_buf,uip_len)。只有当数据包足够大,可以被分割时,我才计算散列 我在contiki 3.0中使用z1 motes,cooja模拟器。 我得到以下问题: [java] INFO [A
uip\u buf
中,uip\u len
给出了uip\u buf
中内容的长度
夸克的原型是int夸克(u8*out,常数u8*in,u64-inlen)代码>
我正在呼叫夸克(out,uip_buf,uip_len)代码>。只有当数据包足够大,可以被分割时,我才计算散列
我在contiki 3.0中使用z1 motes,cooja模拟器。
我得到以下问题:
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - Writing to read-only P3IN
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) -
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - Stack Trace: number of calls: 13 PC: $07a36
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - permute_u (serial-line.c) called from PC: $07f76 (elapsed: 890)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - permute (local in sicslowpan.c) called from PC: $0806e (elapsed: 49789)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - update (serial-line.c) called from PC: $08150 (elapsed: 70287)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - quark (serial-line.c) called from PC: $0874e (elapsed: 127697)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - output (local in sicslowpan.c) called from PC: $0a288 (elapsed: 247738)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - tcpip_output (serial-line.c) called from PC: $0a3b8 (elapsed: 247750)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - tcpip_ipv6_output (serial-line.c) called from PC: $09ffa (elapsed: 247800)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - uip_icmp6_send (serial-line.c) called from PC: $0c066 (elapsed: 248724)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - dis_output (serial-line.c) called from PC: $0c79c (elapsed: 248786)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - handle_periodic_timer (local in rpl-timers.c) called from PC: $06496 (elapsed: 249098)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - process_thread_ctimer_process (local in ctimer.c) called from PC: $068aa (elapsed: 249237)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - call_process (local in process.c) called from PC: $06a28 (elapsed: 249272)
[java] INFO [AWT-EventQueue-0] (MessageListUI.java:261) - process_run (serial-line.c) called from PC: $033f2 (elapsed: 250282)
经过一番调查,我了解到可能的原因有:
函数返回负数或大数
数组索引超出范围
我确信在我的代码中没有这种可能性,但我不知道在我的代码中是否有这种可能性。我只是使用rpl udp客户端和服务器。我只从客户端发送134字节的数据作为数据
就在错误弹出之前,Mote output显示了我从代码中打印的值。
uip_len=116 sizeof(uip_buf)=1280
有什么解决方案或提示来消除错误吗