main/sdp_srtp.c: allow SDP crypto tag to be up to 9 digits
authorCorey Edwards <tensai@zmonkey.org>
Tue, 19 May 2015 18:01:36 +0000 (12:01 -0600)
committerCorey Edwards <tensai@zmonkey.org>
Tue, 19 May 2015 18:12:54 +0000 (13:12 -0500)
ASTERISK-24887 #close
Reported by: Makoto Dei
Tested by: tensai

Change-Id: I6a96f572adb17f76b3acafe503a01c48eb5dd9bf

main/sdp_srtp.c

index 8c86f14..5d8047c 100644 (file)
@@ -238,7 +238,8 @@ int ast_sdp_crypto_process(struct ast_rtp_instance *rtp, struct ast_sdp_srtp *sr
                return -1;
        }
 
-       if (sscanf(tag, "%30d", &crypto->tag) != 1 || crypto->tag <= 0 || crypto->tag > 9) {
+       /* RFC4568 9.1 - tag is 1-9 digits, greater than zero */
+       if (sscanf(tag, "%30d", &crypto->tag) != 1 || crypto->tag <= 0 || crypto->tag > 999999999) {
                ast_log(LOG_WARNING, "Unacceptable a=crypto tag: %s\n", tag);
                return -1;
        }