mirror of
https://github.com/switchbrew/switch-examples.git
synced 2025-06-21 21:32:40 +02:00
ldn: Use fixed-size buffer for sendto(), and make sure the data from recvfrom() is NUL-terminated.
This commit is contained in:
parent
52bdce1eb0
commit
25cdf12ab0
@ -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_DUP) strncpy(tmpstr, "Button DUP pressed.", sizeof(tmpstr)-1);
|
||||||
else if (kDown & KEY_DDOWN) strncpy(tmpstr, "Button DDOWN 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;
|
int tmp = errno;
|
||||||
printf("sendto(): %ld", ret);
|
printf("sendto(): %ld", ret);
|
||||||
if (ret < 0) printf(", %s", strerror(tmp));
|
if (ret < 0) printf(", %s", strerror(tmp));
|
||||||
@ -306,6 +306,7 @@ int main(int argc, char **argv)
|
|||||||
socklen_t fromlen = sizeof(struct sockaddr_in);
|
socklen_t fromlen = sizeof(struct sockaddr_in);
|
||||||
ssize_t ret = recvfrom(sockfd, tmpstr, sizeof(tmpstr), MSG_DONTWAIT, (struct sockaddr*) &src_addr, &fromlen);
|
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);
|
if (ret>0) printf("Received data: %s\n", tmpstr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user