fd = open(filename, O_WRONLY | O_APPEND | O_CREAT, 0666);
if (fd < 0) {
- radlog(L_ERR, "rlm_sql (%s): Couldn't open file %s: %s",
+ radlog(L_ERR, "rlm_sql (%s): Couldn't open logfile %s: %s",
inst->config->xlat_name, buffer, strerror(errno));
return;
}
rad_lockfd(fd, MAX_QUERY_LEN);
- write(fd, query, strlen(query));
- write(fd, ";\n", 2);
+ if ((write(fd, query, strlen(query) < 0) || (write(fd, ";\n", 2) < 0)))
+ radlog(L_ERR, "rlm_sql (%s): Failed writing to logfile %s: %s",
+ inst->config->xlat_name, buffer, strerror(errno));
+
close(fd); /* and release the lock */
}