diff --git a/src/algorithms/libs/rtklib/rtklib_rtksvr.cc b/src/algorithms/libs/rtklib/rtklib_rtksvr.cc index c8ba20466..0c2aabedf 100644 --- a/src/algorithms/libs/rtklib/rtklib_rtksvr.cc +++ b/src/algorithms/libs/rtklib/rtklib_rtksvr.cc @@ -752,8 +752,8 @@ int rtksvrstart(rtksvr_t *svr, int cycle, int buffsize, int *strs, init_rtcm(svr->rtcm+i); /* set receiver and rtcm option */ - strcpy(svr->raw [i].opt, rcvopts[i]); - strcpy(svr->rtcm[i].opt, rcvopts[i]); + if(strlen(rcvopts[i]) < 256 ) strcpy(svr->raw [i].opt, rcvopts[i]); + if(strlen(rcvopts[i]) < 256 ) strcpy(svr->rtcm[i].opt, rcvopts[i]); /* connect dgps corrections */ svr->rtcm[i].dgps = svr->nav.dgps; diff --git a/src/algorithms/libs/rtklib/rtklib_stream.cc b/src/algorithms/libs/rtklib/rtklib_stream.cc index 70c9ee552..53d2bb8f4 100644 --- a/src/algorithms/libs/rtklib/rtklib_stream.cc +++ b/src/algorithms/libs/rtklib/rtklib_stream.cc @@ -861,7 +861,7 @@ int accsock(tcpsvr_t *tcpsvr, char *msg) tcpsvr->cli[i].sock = sock; if (!setsock(tcpsvr->cli[i].sock, msg)) return 0; memcpy(&tcpsvr->cli[i].addr, &addr, sizeof(addr)); - strcpy(tcpsvr->cli[i].saddr, inet_ntoa(addr.sin_addr)); + if(strlen(inet_ntoa(addr.sin_addr)) < 256) strcpy(tcpsvr->cli[i].saddr, inet_ntoa(addr.sin_addr)); sprintf(msg, "%s", tcpsvr->cli[i].saddr); tracet(2, "accsock: connected sock=%d addr=%s\n", tcpsvr->cli[i].sock, tcpsvr->cli[i].saddr); tcpsvr->cli[i].state = 2;