diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/asterisk.c | 4 | ||||
-rw-r--r-- | main/rtp.c | 10 | ||||
-rw-r--r-- | main/say.c | 27 |
3 files changed, 21 insertions, 20 deletions
diff --git a/main/asterisk.c b/main/asterisk.c index 2e3fb7260..74a19bb75 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -1018,7 +1018,7 @@ static void *netconsole(void *vconsole) continue; } if (fds[0].revents) { - res = read(con->fd, tmp, sizeof(tmp)); + res = read(con->fd, tmp, sizeof(tmp) - 1); if (res < 1) { break; } @@ -2271,7 +2271,7 @@ static char *cli_complete(EditLine *el, int ch) if (ast_opt_remote) { snprintf(buf, sizeof(buf), "_COMMAND NUMMATCHES \"%s\" \"%s\"", lf->buffer, ptr); fdsend(ast_consock, buf); - res = read(ast_consock, buf, sizeof(buf)); + res = read(ast_consock, buf, sizeof(buf) - 1); buf[res] = '\0'; nummatches = atoi(buf); diff --git a/main/rtp.c b/main/rtp.c index 5ee8ecae6..94736ebf6 100644 --- a/main/rtp.c +++ b/main/rtp.c @@ -2024,7 +2024,7 @@ int ast_rtp_make_compatible(struct ast_channel *dest, struct ast_channel *src, i */ void ast_rtp_set_m_type(struct ast_rtp* rtp, int pt) { - if (pt < 0 || pt > MAX_RTP_PT || static_RTP_PT[pt].code == 0) + if (pt < 0 || pt >= MAX_RTP_PT || static_RTP_PT[pt].code == 0) return; /* bogus payload type */ rtp_bridge_lock(rtp); @@ -2036,7 +2036,7 @@ void ast_rtp_set_m_type(struct ast_rtp* rtp, int pt) an unknown media type */ void ast_rtp_unset_m_type(struct ast_rtp* rtp, int pt) { - if (pt < 0 || pt > MAX_RTP_PT) + if (pt < 0 || pt >= MAX_RTP_PT) return; /* bogus payload type */ rtp_bridge_lock(rtp); @@ -2056,7 +2056,7 @@ int ast_rtp_set_rtpmap_type(struct ast_rtp *rtp, int pt, unsigned int i; int found = 0; - if (pt < 0 || pt > MAX_RTP_PT) + if (pt < 0 || pt >= MAX_RTP_PT) return -1; /* bogus payload type */ rtp_bridge_lock(rtp); @@ -2106,7 +2106,7 @@ struct rtpPayloadType ast_rtp_lookup_pt(struct ast_rtp* rtp, int pt) result.isAstFormat = result.code = 0; - if (pt < 0 || pt > MAX_RTP_PT) + if (pt < 0 || pt >= MAX_RTP_PT) return result; /* bogus payload type */ /* Start with negotiated codecs */ @@ -3245,7 +3245,7 @@ struct ast_codec_pref *ast_rtp_codec_getpref(struct ast_rtp *rtp) int ast_rtp_codec_getformat(int pt) { - if (pt < 0 || pt > MAX_RTP_PT) + if (pt < 0 || pt >= MAX_RTP_PT) return 0; /* bogus payload type */ if (static_RTP_PT[pt].isAstFormat) diff --git a/main/say.c b/main/say.c index a21f533d5..c7e8691d1 100644 --- a/main/say.c +++ b/main/say.c @@ -3496,7 +3496,7 @@ int ast_say_date_with_format_en(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); @@ -3743,7 +3743,7 @@ int ast_say_date_with_format_da(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); @@ -3945,7 +3945,7 @@ int ast_say_date_with_format_de(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); @@ -4148,8 +4148,9 @@ int ast_say_date_with_format_th(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) { sndfile[sndoffset] = format[offset]; + } sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); break; @@ -4342,7 +4343,7 @@ int ast_say_date_with_format_he(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); @@ -4482,7 +4483,7 @@ int ast_say_date_with_format_es(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; snprintf(nextmsg, sizeof(nextmsg), "%s", sndfile); @@ -4671,7 +4672,7 @@ int ast_say_date_with_format_fr(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); @@ -4866,7 +4867,7 @@ int ast_say_date_with_format_it(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); @@ -5096,7 +5097,7 @@ int ast_say_date_with_format_nl(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); @@ -5299,7 +5300,7 @@ int ast_say_date_with_format_pl(struct ast_channel *chan, time_t thetime, const case '\'': /* Literal name of a sound file */ sndoffset = 0; - for (sndoffset = 0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset = 0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); @@ -5518,7 +5519,7 @@ int ast_say_date_with_format_pt(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; snprintf(nextmsg, sizeof(nextmsg), "%s", sndfile); @@ -5810,7 +5811,7 @@ int ast_say_date_with_format_zh(struct ast_channel *chan, time_t time, const cha case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); @@ -7299,7 +7300,7 @@ static int ast_say_date_with_format_gr(struct ast_channel *chan, time_t time, co case '\'': /* Literal name of a sound file */ sndoffset=0; - for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < 256) ; sndoffset++) + for (sndoffset=0 ; (format[++offset] != '\'') && (sndoffset < sizeof(sndfile) - 1) ; sndoffset++) sndfile[sndoffset] = format[offset]; sndfile[sndoffset] = '\0'; res = wait_file(chan, ints, sndfile, lang); |