RFC 3261 [20.19] specifies the Expiry value of a method to be
between 0 and 2^32-1 seconds. Internally, the expiry value (stored
as pjsip_expires_hdr, which is pjsip_generic_int_hdr, which is
pj_int32_t) is a signed value, so when a method with a large expiry
comes in, it overflows. I think the corrective action here would be to either change the expiry variable to an pj_uint32_t or, if -1 is a valid internal value, pj_int64_t.
GIL RICHARD •
SOFTWARE SYSTEMS DEVELOPER
INTERTALK CRITICAL
INFORMATION SYSTEMS
Please consider
the environment before printing this e-mail. The information
contained in this e-mail message, together with any
attachments thereto, are intended only for the personal and
confidential use of the addressee(s) named above. The message
and the attachments are or may be a privileged or protected
communication. If you are not the intended recipient of this
message, or authorized to receive it for the intended
recipient, you have received this message in error. If you
received this message in error, you are not to review, use,
disseminate, distribute or copy it or any attachments and are
requested to immediately notify us by return e-mail message,
and delete the original message.
|
_______________________________________________ Visit our blog: http://blog.pjsip.org pjsip mailing list pjsip@xxxxxxxxxxxxxxx http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org