Wireshark-bugs: [Wireshark-bugs] [Bug 6592] New: header value always computed twice
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6592
Summary: header value always computed twice
Product: Wireshark
Version: SVN
Platform: Other
OS/Version: Windows XP
Status: NEW
Severity: Enhancement
Priority: Low
Component: TShark
AssignedTo: bugzilla-admin@xxxxxxxxxxxxx
ReportedBy: cbley@xxxxxxxxxx
Claudio <cbley@xxxxxxxxxx> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #7427| |review_for_checkin?
Flag| |
Created an attachment (id=7427)
--> (https://bugs.wireshark.org/bugzilla/attachment.cgi?id=7427)
remove duplicate code
Build Information:
TShark 1.7.1 (SVN Rev 39897 from /trunk)
Copyright 1998-2011 Gerald Combs <gerald@xxxxxxxxxxxxx> and contributors.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Compiled (64-bit) with GLib 2.24.1, with libpcap 1.0.0, with libz 1.2.3.3,
without POSIX capabilities, without SMI, without c-ares, without ADNS, without
Lua, with Python 2.6.5, without GnuTLS, without Gcrypt, without Kerberos,
without GeoIP.
Running on Linux 2.6.32-33-server, with locale en_US.UTF-8, with libpcap
version
1.0.0, with libz 1.2.3.3.
Built using gcc 4.4.3.
--
I'm not quite sure whether I should report that here, because it's so minor.
Anyway, here goes:
In packet-http.c, process_header() starting at line 1982:
=== snip ===
/*
* Skip whitespace after the colon.
*/
value_offset = colon_offset + 1;
while (value_offset < line_end_offset
&& ((c = line[value_offset - offset]) == ' ' || c == '\t'))
value_offset++;
/*
* Fetch the value.
*/
value_len = line_end_offset - value_offset;
value = ep_strndup(&line[value_offset - offset], value_len);
if (hf_index == -1) {
[...]
} else {
/*
* Skip whitespace after the colon.
*/
value_offset = colon_offset + 1;
while (value_offset < line_end_offset
&& ((c = line[value_offset - offset]) == ' ' || c == '\t'))
value_offset++;
/*
* Fetch the value.
*/
value_len = line_end_offset - value_offset;
value = ep_strndup(&line[value_offset - offset], value_len);
==== snip ===
Why is value_offset, value_len and value always computed twice (for known
headers)?
--
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.