设置变量的值时无法释放内存

当我尝试释放内存时,出现内存分配错误,但是当我尝试释放内存而不定义名称时,它可以正常工作。

输入项

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

void main()
{
    char* name = malloc(5 * sizeof(char));
    name = "Jeff";

    printf("%s",name);

    free(name); 
}

输出量

0 [main] memallocation 1434 cygwin_exception::open_stackdumpfile: Dumping stack trace to memallocation.exe.stackdump