Wireshark-dev: Re: [Wireshark-dev] malformed packet

From: Jakub Zawadzki <darkjames@xxxxxxxxxxxxxxxx>
Date: Wed, 3 Mar 2010 22:43:04 +0100
On Wed, Mar 03, 2010 at 03:17:43PM -0500, Brian Oleksa wrote:
> /* ***** BEGIN LICENSE BLOCK *****
>  * Version: DCSPL 1.1
>  *
>  * The contents of this file are subject to the Dark Corner Software Public
>  * License Version 1.1 (the "License"); you may not use this file except in
>  * compliance with the License.  You may obtain a copy of the License at
>  * http://www.darkcornersoftware.com/DCSPL/
>  *
>  * Software distributed under the License is distributed on an "AS IS"
>  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied.  See the
>  * License for the specific language governing rights and limitations
>  * under the License.
>  *
>  * The Initial Developer of the Original Code is Dark Corner Software LLC.
>  * Portions created by Dark Corner Software LLC are Copyright (C) 2007 Dark
>  * Corner Software LLC.  All Rights Reserved.
>  *
>  * Contributor(s):
>  *   None
>  *
>  */

Your licence DCSPL is based on MPL licence (acording to http://www.darkcornersoftware.com/DCSPL/license.html point 14)
which is incompatible with GNU GPL licence (http://www.gnu.org/licenses/license-list.html#MPL)

> [...]
> 
>             for (;;) {
>                 guint16 code;
>                 guint16 numBytes = 0;
>                 guint unknownPacket = 0;
>                 guint codeOffset;
>                 offset = orig_offset;
> 		    	code = tvb_get_ntohs(tvb, offset);
>                 codeOffset = offset;
>                 offset += 2;

You need to move these two lines of code:

>                 numBytes = tvb_get_ntohs(tvb, offset);
>                 offset += 2;
> [...]

> 
>                 if (code == 0) {
>                     break;
>                 }

here:

>                 /* GPS: */
>                 if (code == 1) {
> [...]

It should work. If don't can you attach pcap with some helen packets?