if (stat(dir, &statbuf) < 0)
mkdir(dir, 0700);
- sprintf(buf, "%s/%s", dir, filename);
+ snprintf(buf, sizeof(buf), "%s/%s", dir, filename);
fd = open(buf,O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
if (fd < 0)
buf = tmpbuf;
}
snprintf(buf, strlen(him->name)+2, "%s ", him->name);
- write(fd, buf, strlen(buf));
+ if (write(fd, buf, strlen(buf)) < 0) {
+ free(buf);
+ return -1;
+ }
}
}