|
From: <jpg...@us...> - 2007-12-20 15:27:22
|
Revision: 1322
http://iaxclient.svn.sourceforge.net/iaxclient/?rev=1322&view=rev
Author: jpgrayson
Date: 2007-12-20 07:27:27 -0800 (Thu, 20 Dec 2007)
Log Message:
-----------
Apply patch from Lee Howard / Digium's bugtracker issue 6620.
This fixes some crashes in iax_showframe()
Modified Paths:
--------------
trunk/lib/libiax2/src/iax2-parser.c
Modified: trunk/lib/libiax2/src/iax2-parser.c
===================================================================
--- trunk/lib/libiax2/src/iax2-parser.c 2007-12-20 15:18:27 UTC (rev 1321)
+++ trunk/lib/libiax2/src/iax2-parser.c 2007-12-20 15:27:27 UTC (rev 1322)
@@ -345,7 +345,12 @@
"ANSWER ",
"BUSY ",
"TKOFFHK ",
- "OFFHOOK" };
+ "OFFHOOK ",
+ "CONGESTION ",
+ "FLASH ",
+ "WINK ",
+ "OPTION "
+ };
struct ast_iax2_full_hdr *fh;
char retries[20];
char class2[20];
@@ -368,7 +373,7 @@
/* Don't mess with mini-frames */
return;
}
- if (fh->type > (int)sizeof(frames)/(int)sizeof(char *)) {
+ if (fh->type >= (int)(sizeof(frames)/sizeof(char *))) {
snprintf(class2, (int)sizeof(class2), "(%d?)", fh->type);
clas = class2;
} else {
@@ -385,7 +390,7 @@
subclass = iaxs[(int)fh->csub];
}
} else if (fh->type == AST_FRAME_CONTROL) {
- if (fh->csub > (int)sizeof(cmds)/(int)sizeof(char *)) {
+ if (fh->csub >= (int)(sizeof(cmds)/sizeof(char *))) {
snprintf(subclass2, (int)sizeof(subclass2), "(%d?)", fh->csub);
subclass = subclass2;
} else {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|