Git Product home page Git Product logo

Comments (1)

guyharris avatar guyharris commented on May 18, 2024

Submitted by guy_harris

Logged In: YES
user_id=541179

"fn_printn()" takes as its third argument a "const char *",
not an "int", so "snaplen" would be the wrong argument to
pass to it. (As you're using Linux, your compiler is
probably GCC, in which case you should create a ".devel"
file in your tcpdump source directory, and re-run the
configure script; that'll cause some additional warning
flags to be used, which should cause the compiler to print a
warning about incorrect calls such as that.)

However, there's a TCHECK2() call before the fn_printn()
call, so if not all the name was captured in the request,
the TCHECK2() call should fail (jumping to "trunc:") before
fn_printn() even gets called.

It might have tripped over the fact that TTEST2() (and
macros that eventually call it, such as TCHECK2() doesn't,
in 3.7.1, handle the case where the length is so large
that "snapend - l" underflows, but that shouldn't happen
with correctly-formed NFS requests.

Nevertheless, I'd suggest trying the current CVS version
(snapshots of which can be downloaded from the tcpdump.org
site), as that particular bug is fixed in the current CVS
version, so that'd at least determine whether that was the
problem or not. (If the offending NFS request was sent to
the machine on which you're running tcpdump, the copy given
to tcpdump might well be malformed - the Linux NFS code
has been known to mangle some NFS file names "in place", for
convenience when dissecting the NFS request or reply, in
such a way that programs capturing with a capture socket,
such as tcpdump or other libpcap-based programs, see the
mangled packet, not the packet as it arrived at the
machine. Sigh....)

from tcpdump.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.