Ignore:
Timestamp:
Oct 23, 2015 9:45:48 AM (9 years ago)
Author:
nanang
Message:

Misc (re #1882): Added array length check before inserting parsed bandwidth & attribute info to SDP structure (thanks Fredrik Hansson for the patch).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjmedia/src/pjmedia/sdp.c

    r5106 r5190  
    12431243                    if (attr) { 
    12441244                        if (media) { 
    1245                             pjmedia_sdp_media_add_attr(media, attr); 
     1245                            if (media->attr_count < PJMEDIA_MAX_SDP_ATTR) 
     1246                                pjmedia_sdp_media_add_attr(media, attr); 
     1247                            else 
     1248                                PJ_PERROR(2, (THIS_FILE, PJ_ETOOMANY, 
     1249                                              "Error adding media attribute, " 
     1250                                              "attribute is ignored")); 
    12461251                        } else { 
    1247                             pjmedia_sdp_session_add_attr(session, attr); 
     1252                            if (session->attr_count < PJMEDIA_MAX_SDP_ATTR) 
     1253                                pjmedia_sdp_session_add_attr(session, attr); 
     1254                            else 
     1255                                PJ_PERROR(2, (THIS_FILE, PJ_ETOOMANY, 
     1256                                              "Error adding session attribute" 
     1257                                              ", attribute is ignored")); 
    12481258                        } 
    12491259                    } 
     
    12951305                    parse_bandwidth_info(&scanner, bandw, &ctx); 
    12961306                    if (media) { 
    1297                         media->bandw[media->bandw_count++] = bandw; 
     1307                        if (media->bandw_count < PJMEDIA_MAX_SDP_BANDW) 
     1308                            media->bandw[media->bandw_count++] = bandw; 
     1309                        else 
     1310                            PJ_PERROR(2, (THIS_FILE, PJ_ETOOMANY, 
     1311                                          "Error adding media bandwidth " 
     1312                                          "info, info is ignored")); 
    12981313                    } else { 
    1299                         session->bandw[session->bandw_count++] = bandw; 
     1314                        if (session->bandw_count < PJMEDIA_MAX_SDP_BANDW) 
     1315                            session->bandw[session->bandw_count++] = bandw; 
     1316                        else 
     1317                            PJ_PERROR(2, (THIS_FILE, PJ_ETOOMANY, 
     1318                                          "Error adding session bandwidth " 
     1319                                          "info, info is ignored")); 
    13001320                    } 
    13011321                    break; 
Note: See TracChangeset for help on using the changeset viewer.