in src/demarshall.c the test for if( RECV_BUFFER_LENGTH(buf) < n ) appears to
be incorrect: the RECV_BUFFER_LENGTH macro was returning a value of '3' which
is less than 4 - however, commenting out this test allowed the client to work
fine (or at least the error I was seeing has gone away.)
in src/client.c (line 178) the variable 'o' is set to NULL, after the
apparantly incorrect test (above). This causes the actual segfault, seemingly
because somewhere between the two, an error check is done, but not handled.
(I'm not sure exactly where the error should be handled - but skipping the test
caused another error, reporting a NULL return without an error.)
For the time being, we'll use the version with that test commented out, but I'm
hoping someone who knows more about orbit-python can verify this.
|