Es correcto, al reservar memoria mediante esa función solo debes utilizar el numero de bytes indicados en la llamada.
Otro detalle (tal vez solo un error ortográfico) es utilizar comillas dobles en las asignaciones, por ejemplo:
Ya que la literal "1" resulta en la dirección en memoria donde se almacena (de tipo "char *") mientras que "MessageToSend[0]" es de tipo "char".
De nuevo tal vez sea solo un "error de dedazo" y en tu programa utilizas comillas simples para indicar (de la forma correcta) los caracteres '1', '1' y '\0'.
Un saludo
Otro detalle (tal vez solo un error ortográfico) es utilizar comillas dobles en las asignaciones, por ejemplo:
Código (c) [Seleccionar]
MessageToSend[0] = "1";
Ya que la literal "1" resulta en la dirección en memoria donde se almacena (de tipo "char *") mientras que "MessageToSend[0]" es de tipo "char".
De nuevo tal vez sea solo un "error de dedazo" y en tu programa utilizas comillas simples para indicar (de la forma correcta) los caracteres '1', '1' y '\0'.
Un saludo