diff --git a/src/modbus-rtu.c b/src/modbus-rtu.c index 9630f66..f80de59 100644 --- a/src/modbus-rtu.c +++ b/src/modbus-rtu.c @@ -817,7 +817,7 @@ modbus_t* modbus_new_rtu(const char *device, modbus_t *ctx; modbus_rtu_t *ctx_rtu; size_t dest_size; - size_t src_size; + size_t ret_size; ctx = (modbus_t *) malloc(sizeof(modbus_t)); _modbus_init_common(ctx); @@ -827,17 +827,17 @@ modbus_t* modbus_new_rtu(const char *device, ctx_rtu = (modbus_rtu_t *)ctx->backend_data; dest_size = sizeof(ctx_rtu->device); - src_size = strlcpy(ctx_rtu->device, device, dest_size); - if (src_size == 0) { - modbus_free(ctx); + ret_size = strlcpy(ctx_rtu->device, device, dest_size); + if (ret_size == 0) { fprintf(stderr, "The device string is empty\n"); + modbus_free(ctx); errno = EINVAL; return NULL; } - if (src_size >= dest_size) { - modbus_free(ctx); + if (ret_size >= dest_size) { fprintf(stderr, "The device string has been truncated\n"); + modbus_free(ctx); errno = EINVAL; return NULL; }