aboutsummaryrefslogtreecommitdiffstats
path: root/src/mds-colour.c
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2015-08-24 17:39:23 +0200
committerMattias Andrée <maandree@operamail.com>2015-08-24 17:41:04 +0200
commit55689e21c0b84cd398de2f852209cfa6dc3aa158 (patch)
tree021d87afcf232067b91b1531a64077e99680cf69 /src/mds-colour.c
parentlibmdsserver: style (diff)
downloadmds-55689e21c0b84cd398de2f852209cfa6dc3aa158.tar.gz
mds-55689e21c0b84cd398de2f852209cfa6dc3aa158.tar.bz2
mds-55689e21c0b84cd398de2f852209cfa6dc3aa158.tar.xz
style + error messages should include message id + fix buffer overflow
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r--src/mds-colour.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mds-colour.c b/src/mds-colour.c
index a7cc7a7..0be6f89 100644
--- a/src/mds-colour.c
+++ b/src/mds-colour.c
@@ -125,7 +125,7 @@ static size_t colour_list_buffer_with_values_length = 0;
((full_send)(socket_fd, message, length))
/**
- * Send an error message
+ * Send an error message, message ID will be incremented
*
* @param recv_client_id:const char* The client ID attached on the message that was received
* @param recv_message_id:const char* The message ID attached on the message that was received
@@ -141,9 +141,10 @@ static size_t colour_list_buffer_with_values_length = 0;
* be omitted
* @return Zero on success, -1 on error
*/
-#define send_error(recv_client_id, recv_message_id, custom, errnum, message) \
- ((send_error)(recv_client_id, recv_message_id, custom, errnum, \
- message, &send_buffer, &send_buffer_size, socket_fd))
+#define send_error(recv_client_id, recv_message_id, custom, errnum, message) \
+ ((send_error)(recv_client_id, recv_message_id, custom, errnum, \
+ message, &send_buffer, &send_buffer_size, message_id, socket_fd) \
+ ? -1 : ((message_id = message_id == INT32_MAX ? 0 : (message_id + 1)), 0))
/**