mod_skinny: fix potential overflow CID: 1060947
This commit is contained in:
parent
5e1e3565db
commit
bea603b7fa
|
@ -336,6 +336,8 @@ switch_endpoint_interface_t *skinny_get_endpoint_interface();
|
||||||
#define skinny_textid2raw(label) (label > 0 ? switch_mprintf("\200%c", label) : switch_mprintf(""))
|
#define skinny_textid2raw(label) (label > 0 ? switch_mprintf("\200%c", label) : switch_mprintf(""))
|
||||||
char *skinny_format_message(const char *str);
|
char *skinny_format_message(const char *str);
|
||||||
|
|
||||||
|
#define SKINNY_MAX_STRING 16384
|
||||||
|
|
||||||
#endif /* _MOD_SKINNY_H */
|
#endif /* _MOD_SKINNY_H */
|
||||||
|
|
||||||
/* For Emacs:
|
/* For Emacs:
|
||||||
|
|
|
@ -1802,6 +1802,12 @@ switch_status_t skinny_handle_capabilities_response(listener_t *listener, skinny
|
||||||
}
|
}
|
||||||
i = 0;
|
i = 0;
|
||||||
pos = 0;
|
pos = 0;
|
||||||
|
|
||||||
|
if ( string_len > SKINNY_MAX_STRING ) {
|
||||||
|
skinny_log_l_msg(listener, SWITCH_LOG_ERROR, "Codec string list too long.\n");
|
||||||
|
return SWITCH_STATUS_FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
codec_string = calloc(string_len+1,1);
|
codec_string = calloc(string_len+1,1);
|
||||||
if ( !codec_string ) {
|
if ( !codec_string ) {
|
||||||
skinny_log_l_msg(listener, SWITCH_LOG_ERROR, "Unable to allocate memory for codec string.\n");
|
skinny_log_l_msg(listener, SWITCH_LOG_ERROR, "Unable to allocate memory for codec string.\n");
|
||||||
|
|
Loading…
Reference in New Issue