]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 221777 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Fri, 2 Oct 2009 00:03:52 +0000 (00:03 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Fri, 2 Oct 2009 00:03:52 +0000 (00:03 +0000)
https://origsvn.digium.com/svn/asterisk/trunk

................
  r221777 | tilghman | 2009-10-01 18:59:15 -0500 (Thu, 01 Oct 2009) | 9 lines

  Merged revisions 221776 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4

  ........
    r221776 | tilghman | 2009-10-01 18:53:12 -0500 (Thu, 01 Oct 2009) | 2 lines

    Fix a bunch of off-by-one errors
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@221778 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/asterisk.c
main/rtp.c
main/say.c

index 2e3fb72605b229c4e57998db4a92f1473d59d467..74a19bb75c4b1dc2fc96297087dfd3c50ab01399 100644 (file)
@@ -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);
 
index 5ee8ecae6e10c2e07eb01fa7a6b08b9b2816198e..94736ebf650d7b24b3e209851f5a9a2c09d0f4a1 100644 (file)
@@ -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)
index a21f533d569b0fb1fb7df212f11685ec95686a21..c7e8691d1cad17049cd77efa2b486559a9ce9cac 100644 (file)
@@ -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);