Implement esnprintf() and make formatted calls more efficient

Within the components, snprintf() was unchecked and had inefficient
calls in some places.
We implement esnprintf() that does all the dirty laundry for us
and use it exclusively now.
This commit is contained in:
Laslo Hunhold
2018-05-19 19:33:04 +02:00
committed by Aaron Marcher
parent f31b113e7e
commit 422cadfd5f
6 changed files with 72 additions and 23 deletions

View File

@ -23,8 +23,11 @@
char status[5];
FILE *fp;
snprintf(path, sizeof(path), "%s%s%s", "/sys/class/net/", iface,
"/operstate");
if (esnprintf(path, sizeof(path),
"/sys/class/net/%s/operstate",
iface) < 0) {
return NULL;
}
if (!(fp = fopen(path, "r"))) {
warn("fopen '%s':", path);
return NULL;
@ -69,7 +72,10 @@
memset(&wreq, 0, sizeof(struct iwreq));
wreq.u.essid.length = IW_ESSID_MAX_SIZE+1;
snprintf(wreq.ifr_name, sizeof(wreq.ifr_name), "%s", iface);
if (esnprintf(wreq.ifr_name, sizeof(wreq.ifr_name),
"%s", iface) < 0) {
return NULL;
}
if ((sockfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
warn("socket 'AF_INET':");