|
@@ -425,7 +425,9 @@ int udp_rcv_loop()
|
|
|
unsigned int fromlen;
|
|
|
struct receive_info ri;
|
|
|
sr_event_param_t evp = {0};
|
|
|
- char printbuf[512];
|
|
|
+#define UDP_RCV_PRINTBUF_SIZE 512
|
|
|
+#define UDP_RCV_PRINT_LEN 100
|
|
|
+ char printbuf[UDP_RCV_PRINTBUF_SIZE];
|
|
|
int i;
|
|
|
int j;
|
|
|
int l;
|
|
@@ -472,20 +474,22 @@ int udp_rcv_loop()
|
|
|
|
|
|
if(is_printable(L_DBG) && len>10) {
|
|
|
j = 0;
|
|
|
- for(i=0; i<len && i<100; i++) {
|
|
|
+ for(i=0; i<len && i<UDP_RCV_PRINT_LEN
|
|
|
+ && j+8<UDP_RCV_PRINTBUF_SIZE; i++) {
|
|
|
if(isprint(buf[i])) {
|
|
|
printbuf[j++] = buf[i];
|
|
|
} else {
|
|
|
l = snprintf(printbuf+j, 6, " %02X ", buf[i]);
|
|
|
if(l<0 || l>=6) {
|
|
|
- LM_ERR("print buffer building failed\n");
|
|
|
+ LM_ERR("print buffer building failed (%d/%d/%d)\n",
|
|
|
+ l, j, i);
|
|
|
goto error;
|
|
|
}
|
|
|
j += l;
|
|
|
}
|
|
|
}
|
|
|
- LM_DBG("received on udp socket: (%d/%d) [[%.*s]]\n",
|
|
|
- j, len, len, printbuf);
|
|
|
+ LM_DBG("received on udp socket: (%d/%d/%d) [[%.*s]]\n",
|
|
|
+ j, i, len, j, printbuf);
|
|
|
}
|
|
|
ri.src_su=*from;
|
|
|
su2ip_addr(&ri.src_ip, from);
|