lwip-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lwip-devel] [bug #23947] ip_reass_chain_frag_into_datagram_and_validate


From: Huang Po Sung
Subject: [lwip-devel] [bug #23947] ip_reass_chain_frag_into_datagram_and_validate() wrongly cast to incompatible pointer
Date: Mon, 28 Jul 2008 09:53:28 +0000
User-agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.1.4322)

URL:
  <http://savannah.nongnu.org/bugs/?23947>

                 Summary: ip_reass_chain_frag_into_datagram_and_validate()
wrongly cast to incompatible pointer
                 Project: lwIP - A Lightweight TCP/IP stack
            Submitted by: geminicat
            Submitted on: Monday 07/28/08 at 09:53
                Category: IPv4
                Severity: 3 - Normal
              Item Group: Crash Error
                  Status: None
                 Privacy: Public
             Assigned to: None
             Open/Closed: Open
         Discussion Lock: Any
         Planned Release: 
            lwIP version: 1.3.0

    _______________________________________________________

Details:

There is a serious bug in ip_reass_chain_frag_into_datagram_and_validate() of
ip_frag.c. Just few lines after the function start:
           .
           .
           .
  1.    iprh = (struct ip_reass_helper*)new_p->payload;
  2.    iprh->next_pbuf = NULL;
  3.    iprh->start = offset;
  4.    iprh->end = offset + len;

The "new_p->payload" is a pointer to the actual IP frame data. How can you
just cast it into (struct ip_reass_helper *) as line 1 shows, and write
unmactch structure value into it, as line 2~4 show?

Whenever there is a reassemble needs, these codes will destroy the real IP
data and cause system malfunction or even crash.




    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?23947>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/





reply via email to

[Prev in Thread] Current Thread [Next in Thread]