Is this code safe? If not, why?
```c
include <stdio.h>
typedef char *string;
string prompt(string message) { printf("%s", message); string input = (char*) malloc(sizeof(char) * 100); char c; size_t size = 0;
while ((c = fgetc(stdin)) != '\n') { if (size > 99) { free(input); return ""; } input[size] = c; size++; } input[size + 1] = '\0'; return input; } ```