From ad2dfb07b01dd90e3b7e74b60bb61ce89a34766e Mon Sep 17 00:00:00 2001 From: Richard Mudgett <rmudgett@digium.com> 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 daa7d718eb..15793e28e1 100644 --- a/pbx/dundi-parser.c +++ b/pbx/dundi-parser.c @@ -448,7 +448,7 @@ void dundi_showframe(struct dundi_hdr *fhi, int rx, struct sockaddr_in *sin, int "INVALID ", "UNKNOWN CMD ", "NULL ", - "REQREQ ", + "REGREQ ", "REGRESPONSE ", "CANCEL ", "ENCRYPT ", @@ -458,15 +458,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");