fix(lib): check if got NULL in all functions

This commit is contained in:
Masahiko AMANO 2022-12-29 17:24:37 +03:00
parent dd1d513f1e
commit 12424fb995
3 changed files with 20 additions and 2 deletions

View File

@ -139,6 +139,9 @@ int tanabata_save(Tanabata *tanabata) {
}
int tanabata_open(Tanabata *tanabata, const char *path) {
if (path == NULL) {
return 1;
}
struct stat st;
if (stat(path, &st) != 0 || !S_ISDIR(st.st_mode)) {
return 1;
@ -164,6 +167,9 @@ int tanabata_open(Tanabata *tanabata, const char *path) {
}
int tanabata_dump(Tanabata *tanabata, const char *path) {
if (path == NULL) {
return 1;
}
struct stat st;
if (stat(path, &st) != 0 || !S_ISDIR(st.st_mode)) {
return 1;

View File

@ -4,7 +4,7 @@
#include "../include/tanabata.h"
int tanabata_sasa_add(Tanabata *tanabata, const char *path) {
if (tanabata->sasahyou.size == -1 && tanabata->sasahyou.hole_cnt == 0) {
if (path == NULL || tanabata->sasahyou.size == -1 && tanabata->sasahyou.hole_cnt == 0) {
return 1;
}
Sasa *current_sasa = tanabata->sasahyou.database;
@ -34,6 +34,9 @@ int tanabata_sasa_rem_by_id(Tanabata *tanabata, uint64_t sasa_id) {
}
int tanabata_sasa_rem_by_path(Tanabata *tanabata, const char *path) {
if (path == NULL) {
return 1;
}
Sasa *current_sasa = tanabata->sasahyou.database;
for (uint64_t i = 0; i < tanabata->sasahyou.size; i++) {
if (current_sasa->id != HOLE_ID && strcmp(current_sasa->path, path) == 0) {
@ -56,6 +59,9 @@ Sasa tanabata_sasa_get_by_id(Tanabata *tanabata, uint64_t sasa_id) {
}
Sasa tanabata_sasa_get_by_path(Tanabata *tanabata, const char *path) {
if (path == NULL) {
return HOLE_SASA;
}
char *abspath = NULL;
abspath = realpath(path, abspath);
if (abspath == NULL) {

View File

@ -3,7 +3,7 @@
#include "../include/tanabata.h"
int tanabata_tanzaku_add(Tanabata *tanabata, const char *name, const char *description) {
if (tanabata->sappyou.size == -1 && tanabata->sappyou.hole_cnt == 0) {
if (name == NULL || description == NULL || tanabata->sappyou.size == -1 && tanabata->sappyou.hole_cnt == 0) {
return 1;
}
Tanzaku *current_tanzaku = tanabata->sappyou.database;
@ -28,6 +28,9 @@ int tanabata_tanzaku_rem_by_id(Tanabata *tanabata, uint64_t tanzaku_id) {
}
int tanabata_tanzaku_rem_by_name(Tanabata *tanabata, const char *name) {
if (name == NULL) {
return 1;
}
Tanzaku *current_tanzaku = tanabata->sappyou.database + 1;
for (uint64_t i = 1; i < tanabata->sappyou.size; i++) {
if (current_tanzaku->id != HOLE_ID && strcmp(current_tanzaku->name, name) == 0) {
@ -50,6 +53,9 @@ Tanzaku tanabata_tanzaku_get_by_id(Tanabata *tanabata, uint64_t tanzaku_id) {
}
Tanzaku tanabata_tanzaku_get_by_name(Tanabata *tanabata, const char *name) {
if (name == NULL) {
return HOLE_TANZAKU;
}
Tanzaku *current_tanzaku = tanabata->sappyou.database;
for (uint64_t i = 0; i < tanabata->sappyou.size; i++) {
if (current_tanzaku->id != HOLE_ID && strcmp(current_tanzaku->name, name) == 0) {