diff --git a/src/say.c b/src/say.c
index 4df2116c1e8189e57bc82df04c70911888cf10b3..063e0295cf3fc31e2ad7fa97b0d140ed13618aad 100644
--- a/src/say.c
+++ b/src/say.c
@@ -502,6 +502,11 @@ log_syslog_init(struct log *log, const char *init_str)
 		log->syslog_ident = strdup("tarantool");
 	else
 		log->syslog_ident = strdup(opts.identity);
+	if (log->syslog_ident == NULL) {
+		diag_set(OutOfMemory, strlen(opts.identity), "malloc",
+		         "log->syslog_ident");
+		return -1;
+	}
 
 	if (opts.facility == syslog_facility_MAX)
 		log->syslog_facility = SYSLOG_LOCAL7;
diff --git a/src/say.h b/src/say.h
index f324c279ef48926451e656938d7266d97e6a2877..708637c414d710fef6673b2f74c44e07800ba8d2 100644
--- a/src/say.h
+++ b/src/say.h
@@ -261,26 +261,28 @@ CFORMAT(printf, 5, 0) extern sayfunc_t _say;
  * \param level (int) - log level (see enum \link say_level \endlink)
  * \param file (const char * ) - file name to print
  * \param line (int) - line number to print
+ * \param error (const char * ) - error description, may be NULL
  * \param format (const char * ) - printf()-like format string
  * \param ... - format arguments
  * \sa printf()
  * \sa enum say_level
  */
-#define say_file_line(level, file, line, format, ...) ({ \
+#define say_file_line(level, file, line, error, format, ...) ({ \
 	if (say_log_level_is_enabled(level)) \
-		_say(level, file, line, format, ##__VA_ARGS__); })
+		_say(level, file, line, error, format, ##__VA_ARGS__); })
 
 /**
  * Format and print a message to Tarantool log file.
  *
  * \param level (int) - log level (see enum \link say_level \endlink)
+ * \param error (const char * ) - error description, may be NULL
  * \param format (const char * ) - printf()-like format string
  * \param ... - format arguments
  * \sa printf()
  * \sa enum say_level
  */
-#define say(level, format, ...) ({ \
-	say_file_line(level, __FILE__, __LINE__, format, ##__VA_ARGS__); })
+#define say(level, error, format, ...) ({ \
+	say_file_line(level, __FILE__, __LINE__, error, format, ##__VA_ARGS__); })
 
 /**
  * Format and print a message to Tarantool log file.