Commit db3b8525fd06c39b8ef0e4afeb77cb11807aa105
1 parent
81cbb018
Fix stupid sizeof on char*
Thanks Giampaolo Bellini.
Showing
1 changed file
with
2 additions
and
1 deletions
src/modbus-rtu.c
| @@ -1030,7 +1030,8 @@ modbus_t* modbus_new_rtu(const char *device, | @@ -1030,7 +1030,8 @@ modbus_t* modbus_new_rtu(const char *device, | ||
| 1030 | ctx->backend_data = (modbus_rtu_t *) malloc(sizeof(modbus_rtu_t)); | 1030 | ctx->backend_data = (modbus_rtu_t *) malloc(sizeof(modbus_rtu_t)); |
| 1031 | ctx_rtu = (modbus_rtu_t *)ctx->backend_data; | 1031 | ctx_rtu = (modbus_rtu_t *)ctx->backend_data; |
| 1032 | 1032 | ||
| 1033 | - device_size = sizeof(device); | 1033 | + /* Device name and \0 */ |
| 1034 | + device_size = (strlen(device) + 1) * sizeof(char); | ||
| 1034 | if (device_size == 0) { | 1035 | if (device_size == 0) { |
| 1035 | fprintf(stderr, "The device string is empty\n"); | 1036 | fprintf(stderr, "The device string is empty\n"); |
| 1036 | modbus_free(ctx); | 1037 | modbus_free(ctx); |