diff options
| author | Joseph Hunkeler <jhunkeler@gmail.com> | 2026-04-29 13:21:11 -0400 |
|---|---|---|
| committer | Joseph Hunkeler <jhunkeler@gmail.com> | 2026-04-29 13:21:11 -0400 |
| commit | be5457168833d8297f6affa16bf67d9333e8ad75 (patch) | |
| tree | 06bc43e8d3fecb44f5fe8a672afb69137fd5ffa1 | |
| parent | babecb3ca3b88fc5ae25ddc4fab2e88ba9cbc3e2 (diff) | |
| download | stasis-be5457168833d8297f6affa16bf67d9333e8ad75.tar.gz | |
git_describe: close pipe on error
| -rw-r--r-- | src/lib/core/utils.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/lib/core/utils.c b/src/lib/core/utils.c index b4fd726..269dcdc 100644 --- a/src/lib/core/utils.c +++ b/src/lib/core/utils.c @@ -385,7 +385,11 @@ char *git_describe(const char *path) { if (!pp) { return NULL; } - fgets(version, sizeof(version) - 1, pp); + if (fgets(version, sizeof(version) - 1, pp) == NULL) { + pclose(pp); + popd(); + return NULL; + } strip(version); pclose(pp); popd(); @@ -412,7 +416,11 @@ char *git_rev_parse(const char *path, char *args) { if (!pp) { return NULL; } - fgets(version, sizeof(version) - 1, pp); + if (fgets(version, sizeof(version) - 1, pp) == NULL) { + pclose(pp); + popd(); + return NULL; + } strip(version); pclose(pp); popd(); |
