 
                            ...
| Code Block | ||
|---|---|---|
| 
 | ||
| void *alloc(unsigned int blocksize) {
  return malloc(blocksize);
}
int read_counted_string(int fd) {
  unsigned long length;
  unsigned char *data;
  if (read_integer_from_network(fd, &length) < 0) {
    return -1;
  }
  data = (unsigned char*) alloc(length);
  if (data == NULL) {
    /*Handle malloc failure*/
  }
  if (read_network_data(fd, data, length) < 0) {
    free(data);
    return -1;
  }
  data[length-1] = '\0';
  /* ... */
  free( data);
  return 0;
}
 | 
...