...
| Code Block | ||
|---|---|---|
| ||
void incorrect_password(const char *user, const char *password) {
/* user names are restricted to 256 characters or less */
size_t len = strlen(user) + sizeof("%s could not be authenticated.") - 1;
char *msg = (char *)malloc(len);
if (!msg) {
/* handle error condition */
}
snprintf(msg, len, "%s could not be authenticated.", user);
syslog(LOG_INFO, msg);
free(msg);
}
|
The syslog() function first appeared in BSD 4.2 and is supported by Linux and other modern Unix implementations. It is not available on Windows systems.
Compliant Solution
This compliant solution outputs the string directly instead of building it and then outputting it.
...