if ((buffer = realloc (buffer, buflen)) == NULL)
new_buffer = (char *) realloc (buffer, buflen); if (new_buffer == NULL)
__md5_crypt (const char *key, const char *salt){  /* We don't want to have an arbitrary limit in the size of the     password.  We can compute the size of the result in advance and     so we can prepare the buffer we pass to `md5_crypt_r'.  */  static int buflen;  int needed = 3 + strlen (salt) + 1 + 26 + 1;  if (buflen < needed)    {      buflen = needed;      if ((buffer = realloc (buffer, buflen)) == NULL)	return NULL;    }  return __md5_crypt_r (key, salt, buffer, buflen);}