use uthash safely in day 5
[advent21.git] / 05b.c
diff --git a/05b.c b/05b.c
index f8dd141..509c555 100644 (file)
--- a/05b.c
+++ b/05b.c
@@ -9,13 +9,16 @@ struct entry { struct point key; int i; UT_hash_handle hh; };
 void mark_point(int x, int y, struct entry **entries, int *r)
 {
        struct entry *p;
-       struct point s = {.x=x, .y=y};
+       struct point s;
+       memset(&s, 0, sizeof s);
+       s.x = x;
+       s.y = y;
        HASH_FIND(hh, *entries, &s, sizeof(struct point), p);
        if (p) {
                if (p->i++ == 1)
                        *r = *r+1;
        } else {
-               p = malloc(sizeof(struct entry));
+               p = calloc(1, sizeof(struct entry));
                p->key = s;
                p->i = 1;
                HASH_ADD(hh, *entries, key, sizeof(struct point), p);