From 916abe7cdc83d8b85d51096fa20c4d9071f4ada6 Mon Sep 17 00:00:00 2001 From: Richard Mudgett Date: Wed, 15 Aug 2018 18:14:52 -0500 Subject: [PATCH] pbx_dundi: Fix debug frame decode string. * Fixed a typo in the name of the REGREQ frame decode string array. * Fixed off by one range check indexing into the frame decode string array. * Removed some unneeded casts associated with the decode string array. Change-Id: I77435e81cd284bab6209d545919bf236ad7933c2 --- pbx/dundi-parser.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pbx/dundi-parser.c b/pbx/dundi-parser.c index 808559c592..5e53f81d41 100644 --- a/pbx/dundi-parser.c +++ b/pbx/dundi-parser.c @@ -446,7 +446,7 @@ void dundi_showframe(struct dundi_hdr *fhi, int rx, struct sockaddr_in *sin, int "INVALID ", "UNKNOWN CMD ", "NULL ", - "REQREQ ", + "REGREQ ", "REGRESPONSE ", "CANCEL ", "ENCRYPT ", @@ -456,15 +456,15 @@ void dundi_showframe(struct dundi_hdr *fhi, int rx, struct sockaddr_in *sin, int char subclass2[20]; char *subclass; char tmp[256]; - if ((fhi->cmdresp & 0x3f) > (int)sizeof(commands)/(int)sizeof(char *)) { - snprintf(class2, (int)sizeof(class2), "(%d?)", fhi->cmdresp); + if ((fhi->cmdresp & 0x3f) >= ARRAY_LEN(commands)) { + snprintf(class2, sizeof(class2), "(%d?)", fhi->cmdresp & 0x3f); class = class2; } else { - class = commands[(int)(fhi->cmdresp & 0x3f)]; + class = commands[fhi->cmdresp & 0x3f]; } - snprintf(subclass2, (int)sizeof(subclass2), "%02hhx", (unsigned char)fhi->cmdflags); + snprintf(subclass2, sizeof(subclass2), "%02hhx", (unsigned char)fhi->cmdflags); subclass = subclass2; - snprintf(tmp, (int)sizeof(tmp), + snprintf(tmp, sizeof(tmp), "%s-Frame -- OSeqno: %3.3d ISeqno: %3.3d Type: %s (%s)\n", pref[rx], fhi->oseqno, fhi->iseqno, class, fhi->cmdresp & 0x40 ? "Response" : "Command");