title: strdup and memory leaking
body: <p>Does strdup allocate another memory zone and create another pointer every time?</p>
  
  <p>For example: does the following code result in a memory leak?</p>
  
  <pre><code>void x(char** d, char* s){
      *d = strdup(s);
  }
  
  int main(){
      char* test = NULL;
      x(&amp;test, "abcd");
      x(&amp;test, "etc");
      return 0;
  }
  </code></pre>