summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Steinhardt <ps@pks.im>2017-06-06 14:53:45 +0200
committerPatrick Steinhardt <ps@pks.im>2017-06-08 12:05:35 +0200
commit0c28c72d136548ac4db4422e5192ad273d5460c6 (patch)
treebde2eef8f05874a3663322b7ce263c9a7d42c365
parentdd0aa811dd329f5040c70f7aac514b3757eb2453 (diff)
downloadlibgit2-0c28c72d136548ac4db4422e5192ad273d5460c6.tar.gz
fileops: check return value of `git_path_dirname`
-rw-r--r--src/fileops.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/fileops.c b/src/fileops.c
index a0a2795c6..bda17f02d 100644
--- a/src/fileops.c
+++ b/src/fileops.c
@@ -1155,9 +1155,13 @@ int git_futils_fsync_dir(const char *path)
int git_futils_fsync_parent(const char *path)
{
- char *parent = git_path_dirname(path);
- int error = git_futils_fsync_dir(parent);
+ char *parent;
+ int error;
+
+ if ((parent = git_path_dirname(path)) == NULL)
+ return -1;
+ error = git_futils_fsync_dir(parent);
git__free(parent);
return error;
}