Skip to content

Commit 6aafa64

Browse files
authored
Merge branch 'master' into cmake_ver
2 parents b5174eb + 9cf3879 commit 6aafa64

File tree

6 files changed

+18
-9
lines changed

6 files changed

+18
-9
lines changed

.github/workflows/build_test.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ on:
88
branches:
99
- '**'
1010

11+
permissions:
12+
contents: read
13+
1114
jobs:
1215
rpm_test_build:
1316
runs-on: ubuntu-latest

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.0.1
1+
2.1.0

apps/diameter_client/lib_dbase/avp.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,12 +386,16 @@ char* AAAConvertAVPToString(AAA_AVP *avp, char *dest, unsigned int destLen)
386386
"flags=%x;\nDataType=%u;VendorID=%u;DataLen=%u;\n",
387387
avp->prev,avp,avp->next,avp->packetType,avp->code,avp->flags,
388388
avp->type,avp->vendorId,avp->data.len);
389+
if (l < 0 || (unsigned int)l >= destLen) l = destLen - 1;
389390
if ((it = avp->groupedHead)) {
390391
l+=snprintf(dest+l,destLen-l, "Group members:\n---\n");
392+
if ((unsigned int)l >= destLen) l = destLen - 1;
391393
while (it) {
392394
DBG("print...\n");
393395
l+=strlen(AAAConvertAVPToString(it, dest+l, destLen-l));
396+
if ((unsigned int)l >= destLen) l = destLen - 1;
394397
l+=snprintf(dest+l,destLen-l, "\n---\n");
398+
if ((unsigned int)l >= destLen) l = destLen - 1;
395399
it = AAAGetNextAVP(it);
396400
}
397401
} else {

core/AmB2BMedia.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -781,12 +781,12 @@ void AmB2BMedia::replaceConnectionAddress(AmSdp &parser_sdp, bool a_leg,
781781
if (a_leg) {
782782
audio_stream_it->a.setLocalIP(relay_address);
783783
it->port = audio_stream_it->a.getLocalPort();
784-
replaceRtcpAttr(*it, relay_address, audio_stream_it->a.getLocalRtcpPort());
784+
replaceRtcpAttr(*it, relay_public_address, audio_stream_it->a.getLocalRtcpPort());
785785
}
786786
else {
787787
audio_stream_it->b.setLocalIP(relay_address);
788788
it->port = audio_stream_it->b.getLocalPort();
789-
replaceRtcpAttr(*it, relay_address, audio_stream_it->b.getLocalRtcpPort());
789+
replaceRtcpAttr(*it, relay_public_address, audio_stream_it->b.getLocalRtcpPort());
790790
}
791791
if(!replaced_ports.empty()) replaced_ports += "/";
792792
replaced_ports += int2str(it->port);
@@ -816,14 +816,14 @@ void AmB2BMedia::replaceConnectionAddress(AmSdp &parser_sdp, bool a_leg,
816816
(*relay_stream_it)->a.setLocalIP(relay_address);
817817
}
818818
it->port = (*relay_stream_it)->a.getLocalPort();
819-
replaceRtcpAttr(*it, relay_address, (*relay_stream_it)->a.getLocalRtcpPort());
819+
replaceRtcpAttr(*it, relay_public_address, (*relay_stream_it)->a.getLocalRtcpPort());
820820
}
821821
else {
822822
if(!(*relay_stream_it)->b.hasLocalSocket()){
823823
(*relay_stream_it)->b.setLocalIP(relay_address);
824824
}
825825
it->port = (*relay_stream_it)->b.getLocalPort();
826-
replaceRtcpAttr(*it, relay_address, (*relay_stream_it)->b.getLocalRtcpPort());
826+
replaceRtcpAttr(*it, relay_public_address, (*relay_stream_it)->b.getLocalRtcpPort());
827827
}
828828
if(!replaced_ports.empty()) replaced_ports += "/";
829829
replaced_ports += int2str(it->port);

core/sip/parse_common.cpp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ static int _parse_gen_params(list<sip_avp*>* params, const char** c,
201201

202202
case '\"':
203203
st = VP_PVALUE_QUOTED;
204-
beg = *c;
204+
beg = *c + 1;
205205
break;
206206

207207
case ';':
@@ -250,16 +250,17 @@ static int _parse_gen_params(list<sip_avp*>* params, const char** c,
250250

251251
case '\"':
252252
st = VP_PARAM_SEP;
253-
avp->value.set(beg,*c+1-beg);
253+
avp->value.set(beg,*c-beg);
254254
params->push_back(avp.release());
255255
avp.reset(new sip_avp());
256256
break;
257257

258258
case '\\':
259-
if(!*(++(*c))){
259+
if(*c + 1 >= end){
260260
DBG("Escape char in quoted str at EoT!!!\n");
261261
return MALFORMED_SIP_MSG;
262262
}
263+
++(*c);
263264
break;
264265
}
265266
break;

core/tests/test_uriparser.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,8 @@ FCTMF_SUITE_BGN(test_uriparser) {
142142
FCT_TEST_BGN(uriparser_params_dname6) {
143143
AmUriParser p;
144144
size_t end;
145-
fct_chk(p.parse_contact("<sip:alice@atlanta.com>;+g.3gpp.icsi-ref=\"urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel\";video;mobility=\"mobile\"", 0, end));
145+
bool parsed = p.parse_contact("<sip:alice@atlanta.com>;+g.3gpp.icsi-ref=\"urn%3Aurn-7%3A3gpp-service.ims.icsi.mmtel\";video;mobility=\"mobile\"", 0, end);
146+
fct_chk(parsed);
146147
fct_chk( p.params.size()==3);
147148
} FCT_TEST_END();
148149
} FCTMF_SUITE_END();

0 commit comments

Comments
 (0)