title: Is it OK to free 'void*'?
body: <p>Consider:</p>
  
  <pre><code>struct foo
  {
      int a;
      int b;
  };
  
  void* p = (void*)malloc(sizeof(struct foo));
  ((foo*)p)-&gt;a; // Do something.
  free(p); // Is this safe?
  </code></pre>