outhdr->cmpri = 0;
        outhdr->cmpre = 0;
 
-       for (i = 0; i <= n; i++)
+       for (i = 0; i < n; i++)
                ipv6_rpl_addr_decompress(&outhdr->rpl_segaddr[i], daddr,
                                         ipv6_rpl_segdata_pos(inhdr, i),
                                         inhdr->cmpri);
        int i;
 
        for (plen = 0; plen < sizeof(*daddr); plen++) {
-               for (i = 0; i <= n; i++) {
+               for (i = 0; i < n; i++) {
                        if (daddr->s6_addr[plen] !=
                            inhdr->rpl_segaddr[i].s6_addr[plen])
                                return plen;
        outhdr->cmpri = cmpri;
        outhdr->cmpre = cmpre;
 
-       for (i = 0; i <= n; i++)
+       for (i = 0; i < n; i++)
                ipv6_rpl_addr_compress(ipv6_rpl_segdata_pos(outhdr, i),
                                       &inhdr->rpl_segaddr[i], cmpri);