From: Michael L. Young Date: Wed, 2 Oct 2013 21:31:36 +0000 (+0000) Subject: Cast Integer Argument To Unsigned Char X-Git-Tag: 11.7.0-rc1~43 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b4e0f80ec0996cecca574e1d6bd7b11fdbffe40c;p=thirdparty%2Fasterisk.git Cast Integer Argument To Unsigned Char The member reg in the peercnt structure is an unsigned char and peercnt_modify() is expecting an unsigned char argument which gets assigned to peercnt->reg. This patch fixes that by casting the integer argument being passed to peercnt_modify to unsigned char. ........ Merged revisions 400314 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@400315 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/channels/chan_iax2.c b/channels/chan_iax2.c index 30fa702d2e..1209088e13 100644 --- a/channels/chan_iax2.c +++ b/channels/chan_iax2.c @@ -8727,7 +8727,7 @@ static void __expire_registry(const void *data) realtime_update_peer(peer->name, &peer->addr, 0); manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: IAX2\r\nPeer: IAX2/%s\r\nPeerStatus: Unregistered\r\nCause: Expired\r\n", peer->name); /* modify entry in peercnts table as _not_ registered */ - peercnt_modify(0, 0, &peer->addr); + peercnt_modify((unsigned char) 0, 0, &peer->addr); /* Reset the address */ memset(&peer->addr, 0, sizeof(peer->addr)); /* Reset expiry value */ @@ -8869,7 +8869,7 @@ static int update_registry(struct sockaddr_in *sin, int callno, char *devtype, i } /* modify entry in peercnts table as _not_ registered */ - peercnt_modify(0, 0, &p->addr); + peercnt_modify((unsigned char) 0, 0, &p->addr); /* Stash the IP address from which they registered */ ast_sockaddr_from_sin(&p->addr, sin); @@ -8897,7 +8897,7 @@ static int update_registry(struct sockaddr_in *sin, int callno, char *devtype, i /* modify entry in peercnts table as registered */ if (p->maxcallno) { - peercnt_modify(1, p->maxcallno, &p->addr); + peercnt_modify((unsigned char) 1, p->maxcallno, &p->addr); } /* Make sure our call still exists, an INVAL at the right point may make it go away */ @@ -12690,7 +12690,7 @@ static struct iax2_peer *build_peer(const char *name, struct ast_variable *v, st peer->pokefreqok = DEFAULT_FREQ_OK; peer->pokefreqnotok = DEFAULT_FREQ_NOTOK; peer->maxcallno = 0; - peercnt_modify(0, 0, &peer->addr); + peercnt_modify((unsigned char) 0, 0, &peer->addr); peer->calltoken_required = CALLTOKEN_DEFAULT; ast_string_field_set(peer,context,""); ast_string_field_set(peer,peercontext,""); @@ -12878,7 +12878,7 @@ static struct iax2_peer *build_peer(const char *name, struct ast_variable *v, st if (sscanf(v->value, "%10hu", &peer->maxcallno) != 1) { ast_log(LOG_WARNING, "maxcallnumbers must be set to a valid number. %s is not valid at line %d.\n", v->value, v->lineno); } else { - peercnt_modify(1, peer->maxcallno, &peer->addr); + peercnt_modify((unsigned char) 1, peer->maxcallno, &peer->addr); } } else if (!strcasecmp(v->name, "requirecalltoken")) { /* default is required unless in optional ip list */