-
Notifications
You must be signed in to change notification settings - Fork 396
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix a segmentation fault in 'call.cpp:2369: createAuthHeader' #503
Conversation
[Detailed feature documentation available upon request]
Gateway RTP/SRTP bit pattern testing support (SIPP-RTPCHECK-3.6) This may require some addiitonal additions, like: - more documentation - checks whether this can be disabled/enabled properly and TLS is still optional Thanks Jeannot Langlois (@jeannotlanglois) for the big effort.
…headers when performing lookups. (SIPp#465) * Extract short_header logic into function * Handle mixed header compactness * Handle cases ordering of headers matters * Minor cleanup * Tweak get_compact_header_name Issue SIPp#465, by Karn Saheb Karn (@Karn). (Thanks for the fixes and the included test case.)
… sction of a message
So it crashes on In that case the fix is not to calculate a different (wrong) hash, but do something else (return error?). |
yes, it crashes because it will call "createAuthHeaderMD5" (auth.cpp:242) with "method" being a null pointer, whitch leads to the crash in "strlen(method)" (auth.cpp:281)
Ah, yes - true! I've updated the pull request accordingly. It returns an error in the calling function "createAuthHeader" (auth.cpp:145). |
Closed by 010ee75. Thanks! |
The SegFault only happens if the SIPp reference to the authentication header (in our case [field2], see the attached 'fail.xml') is used (in the example 'fail.xml': echo [field2]) after or in the receive section of the REGISTER message which actually sends the authentication header. In this case "getMethod" returns 0x0 (see 'gdb.txt', also attached).
It was introduced by commit 6dd80fe by using the function 'src->getMethod()' instead of the variable 'method'.
fix_info.tar.gz