diff --git a/network/ldn/source/main.c b/network/ldn/source/main.c index 26b111b..6b161e4 100644 --- a/network/ldn/source/main.c +++ b/network/ldn/source/main.c @@ -291,7 +291,7 @@ int main(int argc, char **argv) else if (kDown & KEY_DUP) strncpy(tmpstr, "Button DUP pressed.", sizeof(tmpstr)-1); else if (kDown & KEY_DDOWN) strncpy(tmpstr, "Button DDOWN pressed.", sizeof(tmpstr)-1); - ssize_t ret = sendto(sockfd, tmpstr, strlen(tmpstr), 0, (struct sockaddr*) &serv_addr, sizeof(struct sockaddr_in)); + ssize_t ret = sendto(sockfd, tmpstr, sizeof(tmpstr), 0, (struct sockaddr*) &serv_addr, sizeof(struct sockaddr_in)); int tmp = errno; printf("sendto(): %ld", ret); if (ret < 0) printf(", %s", strerror(tmp)); @@ -306,6 +306,7 @@ int main(int argc, char **argv) socklen_t fromlen = sizeof(struct sockaddr_in); ssize_t ret = recvfrom(sockfd, tmpstr, sizeof(tmpstr), MSG_DONTWAIT, (struct sockaddr*) &src_addr, &fromlen); + tmpstr[sizeof(tmpstr)-1] = 0; if (ret>0) printf("Received data: %s\n", tmpstr); }