diff options
author | Hiltjo Posthuma <hiltjo@codemadness.org> | 2019-03-09 12:39:10 +0100 |
---|---|---|
committer | Hiltjo Posthuma <hiltjo@codemadness.org> | 2019-03-09 12:39:10 +0100 |
commit | bb1d06eb204b1d1135fcddccd14f6306abcd7f72 (patch) | |
tree | 5750cbeb39fe817e2ac8a46bf2481874d852694c | |
parent | 587b01428d6ec2be1ab6b468198663118d483990 (diff) | |
download | stagit-fork-bb1d06eb204b1d1135fcddccd14f6306abcd7f72.zip |
pedantic snprintf() improvement
POSIX says:
"If an output error was encountered, these functions shall return a negative
value and set errno to indicate the error."
-rw-r--r-- | stagit-index.c | 2 | ||||
-rw-r--r-- | stagit.c | 6 |
2 files changed, 4 insertions, 4 deletions
diff --git a/stagit-index.c b/stagit-index.c index accb1a5..cc70e4d 100644 --- a/stagit-index.c +++ b/stagit-index.c @@ -28,7 +28,7 @@ joinpath(char *buf, size_t bufsiz, const char *path, const char *path2) r = snprintf(buf, bufsiz, "%s%s%s", path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2); - if (r == -1 || (size_t)r >= bufsiz) + if (r < 0 || (size_t)r >= bufsiz) errx(1, "path truncated: '%s%s%s'", path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2); } @@ -76,7 +76,7 @@ joinpath(char *buf, size_t bufsiz, const char *path, const char *path2) r = snprintf(buf, bufsiz, "%s%s%s", path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2); - if (r == -1 || (size_t)r >= bufsiz) + if (r < 0 || (size_t)r >= bufsiz) errx(1, "path truncated: '%s%s%s'", path, path[0] && path[strlen(path) - 1] != '/' ? "/" : "", path2); } @@ -616,7 +616,7 @@ writelog(FILE *fp, const git_oid *oid) git_oid_tostr(oidstr, sizeof(oidstr), &id); r = snprintf(path, sizeof(path), "commit/%s.html", oidstr); - if (r == -1 || (size_t)r >= sizeof(path)) + if (r < 0 || (size_t)r >= sizeof(path)) errx(1, "path truncated: 'commit/%s.html'", oidstr); r = access(path, F_OK); @@ -856,7 +856,7 @@ writefilestree(FILE *fp, git_tree *tree, const char *path) r = snprintf(filepath, sizeof(filepath), "file/%s.html", entrypath); - if (r == -1 || (size_t)r >= sizeof(filepath)) + if (r < 0 || (size_t)r >= sizeof(filepath)) errx(1, "path truncated: 'file/%s.html'", entrypath); if (!git_tree_entry_to_object(&obj, repo, entry)) { |