From e16b1811d62b7493133093205d498a30b6f04dae Mon Sep 17 00:00:00 2001 From: Matthias Vogelgesang Date: Wed, 24 Jan 2018 11:38:59 +0100 Subject: Raise enum value name length and issue warning --- uca-net-protocol.h | 2 +- ucad.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/uca-net-protocol.h b/uca-net-protocol.h index ee10b72..5a7611c 100644 --- a/uca-net-protocol.h +++ b/uca-net-protocol.h @@ -4,7 +4,7 @@ #include #define UCA_NET_MAX_ENUM_LENGTH 32 -#define UCA_NET_MAX_ENUM_NAME_LENGTH 32 +#define UCA_NET_MAX_ENUM_NAME_LENGTH 128 typedef enum { UCA_NET_MESSAGE_INVALID = 0, diff --git a/ucad.c b/ucad.c index 6e401b1..ec0f7d2 100644 --- a/ucad.c +++ b/ucad.c @@ -135,6 +135,10 @@ serialize_param_spec (GParamSpec *pspec, UcaNetMessageProperty *prop) for (guint i = 0; i < MIN (enum_class->n_values, UCA_NET_MAX_ENUM_LENGTH); i++) { prop->spec.genum.values[i] = enum_class->values[i].value; + + if (strlen (enum_class->values[i].value_name) > UCA_NET_MAX_ENUM_NAME_LENGTH) + g_warning ("Enum value name too long, expect serious problems"); + strncpy (prop->spec.genum.value_names[i], enum_class->values[i].value_name, UCA_NET_MAX_ENUM_NAME_LENGTH); } -- cgit v1.2.3