summaryrefslogtreecommitdiff
path: root/src/lib/file.c
diff options
context:
space:
mode:
authorbpc2003 <wpesfriendnva@gmail.com>2025-03-17 14:54:25 -0400
committerbpc2003 <wpesfriendnva@gmail.com>2025-03-17 14:54:25 -0400
commit67124b97b3af69af0e2eeb82bb751a909f99b245 (patch)
tree347cb08dffa45a4990681a11faf06119ac787f15 /src/lib/file.c
parentf8ad5a7a313070111e9a47195f738740146f71ed (diff)
Added extra guard clauses to prevent undefined behavior
Diffstat (limited to 'src/lib/file.c')
-rw-r--r--src/lib/file.c7
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);