From Karl Heinz Wolf:
authorjake <jake@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 6 Feb 2009 20:10:57 +0000 (20:10 +0000)
committerjake <jake@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 6 Feb 2009 20:10:57 +0000 (20:10 +0000)
Bugfix RFC3825-Decoding

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@27388 f5534014-38df-0310-8fa8-9805f1628bb7

epan/dissectors/packet-bootp.c

index 14773d062bac878993f9b95aae0a9a893d5a0ee4..58000ab3849a06c8749ed9f84e35d56f2f8fb982 100644 (file)
@@ -2080,7 +2080,7 @@ rfc3825_lci_to_fixpoint(const unsigned char lci[16], struct rfc3825_location_fix
                                           ((gint64)lci[2]<<16) | ((gint64)lci[3]<<8)  | 
                                            (gint64)lci[4];
        }
-       fixpoint->longitude_res = (lci[0]>>2) & 0x3F;  /* make sure that right-shift does not copy sign bit */
+       fixpoint->longitude_res = (lci[5]>>2) & 0x3F;  /* make sure that right-shift does not copy sign bit */
        if (lci[5] & 2) { /* LSB<<1 contains the sign of the latitude */
                /* Longitude is negative, expand two's complement */
                fixpoint->longitude = (((gint64)lci[5] & 3)<<32) | ((gint64)lci[6]<<24) | 
@@ -2095,7 +2095,7 @@ rfc3825_lci_to_fixpoint(const unsigned char lci[16], struct rfc3825_location_fix
        }
        fixpoint->altitude_type = (lci[10]>>4) & 0x0F;  /* make sure that right-shift does not copy sign bit */
        fixpoint->altitude_res  = ((lci[10] & 0x0F) << 2) | ((lci[11]>>6) & 0x03);
-       if (lci[5] & 32) { /* LSB<<1 contains the sign of the latitude */
+       if (lci[11] & 0x20) { /* LSB<<1 contains the sign of the latitude */
                /* Altitude is negative, expand two's complement */
                fixpoint->altitude = (((gint32)lci[11] & 0x3F)<<24) | ((gint32)lci[12]<<16) | 
                                     ((gint32)lci[13]<<8) | ((gint32)lci[14]) |