0006-pedantic-snprintf-improvement.patch (2166B)
- From bb1d06eb204b1d1135fcddccd14f6306abcd7f72 Mon Sep 17 00:00:00 2001
- From: Hiltjo Posthuma <hiltjo@codemadness.org>
- Date: Sat, 9 Mar 2019 12:39:10 +0100
- Subject: [PATCH 06/22] 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."
- ---
- stagit-index.c | 2 +-
- 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);
- }
- diff --git a/stagit.c b/stagit.c
- index b8abea3..1fc6c1e 100644
- --- a/stagit.c
- +++ b/stagit.c
- @@ -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)) {
- --
- 2.26.2