am I allocating space for the date in the Post struct correctly
#include <time.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>

#define MAX_NAME 32     // Max username and profile_pic filename lengths
#define MAX_FRIENDS 10  // Max number of friends a user can have

typedef struct user {
    char name[MAX_NAME];
    char profile_pic[MAX_NAME];  // This is a *filename*, not the file contents.
    struct post *first_post;
    struct user *friends[MAX_FRIENDS];
    struct user *next;
} User;

typedef struct post {
    char author[MAX_NAME];
    char *contents;
    time_t *date;
    struct post *next;
} Post;

int make_post(const User *author, User *target, char *contents) {
    char *already_friends[2] = {"False", "False"};
    time_t curtime;
    time(&curtime);

    // check if either User pointer is NULL
    if ((author == NULL) || (target == NULL)){
        return 2;
    }
    
    // check if users are friends
    for (int i = 0; i < MAX_FRIENDS; i++){
        if ((*target).friends[i] != NULL){
            if (strcmp((*target).friends[i]->name, (*author).name) == 0){
                already_friends[0] = "True";
            }
        }
        
        if ((*author).friends[i] != NULL){
            if (strcmp((*author).friends[i]->name, (*target).name) == 0){
                already_friends[1] = "True";
            }
        }
    }

    if ((strcmp(already_friends[0], "True") != 0) && (strcmp(already_friends[1], "True") != 0)){
        return 1;
    }

    Post *new_post = malloc(sizeof(Post));
    strcpy(new_post->author, author->name);
    new_post->contents = contents;
    new_post->date = malloc(sizeof(time_t));
    new_post->date = &curtime;
    new_post->next = NULL;
    
    if (target->first_post == NULL){
        target->first_post = new_post;
    }else {
        Post *old_post = target->first_post;
        new_post->next = old_post;
        target->first_post = new_post;
    }

    return 0;
}
