Ver código fonte

Fix stupid sizeof on char*

Thanks Giampaolo Bellini.
Stéphane Raimbault 12 anos atrás
pai
commit
db3b8525fd
1 arquivos alterados com 2 adições e 1 exclusões
  1. 2 1
      src/modbus-rtu.c

+ 2 - 1
src/modbus-rtu.c

@@ -1030,7 +1030,8 @@ modbus_t* modbus_new_rtu(const char *device,
     ctx->backend_data = (modbus_rtu_t *) malloc(sizeof(modbus_rtu_t));
     ctx_rtu = (modbus_rtu_t *)ctx->backend_data;
 
-    device_size = sizeof(device);
+    /* Device name and \0 */
+    device_size = (strlen(device) + 1) * sizeof(char);
     if (device_size == 0) {
         fprintf(stderr, "The device string is empty\n");
         modbus_free(ctx);