mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-13 00:04:53 +00:00
AST-2009-005
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@211528 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -1863,7 +1863,7 @@ static int process_sdp(struct mgcp_subchannel *sub, struct mgcp_request *req)
|
||||
ast_log(LOG_WARNING, "Unable to lookup host in c= line, '%s'\n", c);
|
||||
return -1;
|
||||
}
|
||||
if (sscanf(m, "audio %d RTP/AVP %n", &portno, &len) != 1) {
|
||||
if (sscanf(m, "audio %30d RTP/AVP %n", &portno, &len) != 1) {
|
||||
ast_log(LOG_WARNING, "Unable to determine port number for RTP in '%s'\n", m);
|
||||
return -1;
|
||||
}
|
||||
@@ -1878,7 +1878,7 @@ static int process_sdp(struct mgcp_subchannel *sub, struct mgcp_request *req)
|
||||
ast_rtp_pt_clear(sub->rtp);
|
||||
codecs = ast_strdupa(m + len);
|
||||
while (!ast_strlen_zero(codecs)) {
|
||||
if (sscanf(codecs, "%d%n", &codec, &len) != 1) {
|
||||
if (sscanf(codecs, "%30d%n", &codec, &len) != 1) {
|
||||
if (codec_count)
|
||||
break;
|
||||
ast_log(LOG_WARNING, "Error in codec string '%s' at '%s'\n", m, codecs);
|
||||
@@ -1894,7 +1894,7 @@ static int process_sdp(struct mgcp_subchannel *sub, struct mgcp_request *req)
|
||||
sdpLineNum_iterator_init(&iterator);
|
||||
while ((a = get_sdp_iterate(&iterator, req, "a"))[0] != '\0') {
|
||||
char* mimeSubtype = ast_strdupa(a); /* ensures we have enough space */
|
||||
if (sscanf(a, "rtpmap: %u %[^/]/", &codec, mimeSubtype) != 2)
|
||||
if (sscanf(a, "rtpmap: %30u %[^/]/", &codec, mimeSubtype) != 2)
|
||||
continue;
|
||||
/* Note: should really look at the 'freq' and '#chans' params too */
|
||||
ast_rtp_set_rtpmap_type(sub->rtp, codec, "audio", mimeSubtype, 0);
|
||||
@@ -2028,7 +2028,7 @@ static int transmit_response(struct mgcp_subchannel *sub, char *msg, struct mgcp
|
||||
if (mgr) {
|
||||
/* Store MGCP response in case we have to retransmit */
|
||||
memset(mgr, 0, sizeof(struct mgcp_response));
|
||||
sscanf(req->identifier, "%d", &mgr->seqno);
|
||||
sscanf(req->identifier, "%30d", &mgr->seqno);
|
||||
time(&mgr->whensent);
|
||||
mgr->len = resp.len;
|
||||
memcpy(mgr->buf, resp.data, resp.len);
|
||||
@@ -3320,7 +3320,7 @@ static int find_and_retrans(struct mgcp_subchannel *sub, struct mgcp_request *re
|
||||
time_t now;
|
||||
struct mgcp_response *prev = NULL, *cur, *next, *answer=NULL;
|
||||
time(&now);
|
||||
if (sscanf(req->identifier, "%d", &seqno) != 1)
|
||||
if (sscanf(req->identifier, "%30d", &seqno) != 1)
|
||||
seqno = 0;
|
||||
cur = sub->parent->parent->responses;
|
||||
while(cur) {
|
||||
@@ -3378,7 +3378,7 @@ static int mgcpsock_read(int *id, int fd, short events, void *ignore)
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (sscanf(req.verb, "%d", &result) && sscanf(req.identifier, "%d", &ident)) {
|
||||
if (sscanf(req.verb, "%30d", &result) && sscanf(req.identifier, "%30d", &ident)) {
|
||||
/* Try to find who this message is for, if it's important */
|
||||
sub = find_subchannel_and_lock(NULL, ident, &sin);
|
||||
if (sub) {
|
||||
@@ -4170,7 +4170,7 @@ static int reload_config(void)
|
||||
else
|
||||
capability &= ~format;
|
||||
} else if (!strcasecmp(v->name, "tos")) {
|
||||
if (sscanf(v->value, "%d", &format) == 1)
|
||||
if (sscanf(v->value, "%30d", &format) == 1)
|
||||
tos = format & 0xff;
|
||||
else if (!strcasecmp(v->value, "lowdelay"))
|
||||
tos = IPTOS_LOWDELAY;
|
||||
@@ -4185,7 +4185,7 @@ static int reload_config(void)
|
||||
else
|
||||
ast_log(LOG_WARNING, "Invalid tos value at line %d, should be 'lowdelay', 'throughput', 'reliability', 'mincost', or 'none'\n", v->lineno);
|
||||
} else if (!strcasecmp(v->name, "port")) {
|
||||
if (sscanf(v->value, "%d", &ourport) == 1) {
|
||||
if (sscanf(v->value, "%30d", &ourport) == 1) {
|
||||
bindaddr.sin_port = htons(ourport);
|
||||
} else {
|
||||
ast_log(LOG_WARNING, "Invalid port number '%s' at line %d of %s\n", v->value, v->lineno, config);
|
||||
|
Reference in New Issue
Block a user