uninitialized value was created by a heap allocation. why?
<p>After running Valgrind on my code I got an error: </p>

<pre><code>uninitialized value was created by a heap allocation. 
</code></pre>

<p>My code:</p>

<pre><code>void adicionaHashtag(char* x){
    char*y=malloc(sizeof(x));/***ERROR IS HERE***/
    int i;
    for(i=0; i&lt;strlen(x); i++){
        y[i]=tolower(x[i]);
    }

    Lista_Hashtags*aux = (Lista_Hashtags*)malloc(sizeof(Lista_Hashtags));
    strcpy(aux-&gt;nome, y);
    aux-&gt;contador=1;
    if(contador_unitario == 0){
        ultimo = aux;
    }
    contador_unitario++;
    aux-&gt;proximo = primeiro;
    primeiro = aux;
}
</code></pre>

<p>any tips?</p>

<p>also, what does "Conditional jump or move depends on uninitialised value(s)" mean?
~                                                                                       </p>