diff options
author | bpc2003 <wpesfriendnva@gmail.com> | 2025-03-17 14:54:25 -0400 |
---|---|---|
committer | bpc2003 <wpesfriendnva@gmail.com> | 2025-03-17 14:54:25 -0400 |
commit | 67124b97b3af69af0e2eeb82bb751a909f99b245 (patch) | |
tree | 347cb08dffa45a4990681a11faf06119ac787f15 /src/lib/file.c | |
parent | f8ad5a7a313070111e9a47195f738740146f71ed (diff) |
Added extra guard clauses to prevent undefined behavior
Diffstat (limited to 'src/lib/file.c')
-rw-r--r-- | src/lib/file.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/lib/file.c b/src/lib/file.c index f170b4e..a6bb035 100644 --- a/src/lib/file.c +++ b/src/lib/file.c @@ -14,8 +14,9 @@ tablist_t *readdb(char *filename) int len = 2; tablist_t *list = calloc(len, sizeof(tablist_t)); list[0].len = len; - FILE *fp = fopen(filename, "rb"); - if (fp == NULL) + FILE *fp; + if (filename == NULL || + (fp = fopen(filename, "rb")) == NULL) return list; int c, i = 0, open = 0; @@ -59,6 +60,8 @@ fail: void writedb(char *filename, tablist_t *list) { FILE *fp = fopen(filename, "wb"); + if (fp == NULL) + return; for (int i = 0; i < list[0].len; ++i) { fputc(0xFB, fp); int *indexes = getkeys(list, i); |