diff options
author | Laurent Bercot <ska-skaware@skarnet.org> | 2022-02-27 00:46:40 +0000 |
---|---|---|
committer | Laurent Bercot <ska@appnovation.com> | 2022-02-27 00:46:40 +0000 |
commit | cb66b4d4fd29fdc460e871f16955ab7a895cd321 (patch) | |
tree | 60b307190a28a764dc753c247d225017f09de90e /src/libenvexec/envdir_noclamp.c | |
parent | 2bc71103355d4bd63086a40b013667e1acbf810a (diff) | |
download | skalibs-cb66b4d4fd29fdc460e871f16955ab7a895cd321.tar.gz skalibs-cb66b4d4fd29fdc460e871f16955ab7a895cd321.tar.xz skalibs-cb66b4d4fd29fdc460e871f16955ab7a895cd321.zip |
Fix envdir_noclamp
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'src/libenvexec/envdir_noclamp.c')
-rw-r--r-- | src/libenvexec/envdir_noclamp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/libenvexec/envdir_noclamp.c b/src/libenvexec/envdir_noclamp.c index b87291a..0741c9d 100644 --- a/src/libenvexec/envdir_noclamp.c +++ b/src/libenvexec/envdir_noclamp.c @@ -64,12 +64,12 @@ int envdir_internal_noclamp (char const *path, stralloc *modifs, unsigned int op { if (errno != EPIPE) goto errfd ; if (!(options & SKALIBS_ENVDIR_NOCHOMP)) modifs->len = pos ; - if (!stralloc_catb(modifs, "\n", 1)) goto errfd ; + modifs->len++ ; } if (!r) modifs->len = pos - 1 ; else { - size_t i = pos ; + modifs->len-- ; if (!(options & SKALIBS_ENVDIR_NOCHOMP)) { while (modifs->len-- > pos) @@ -78,11 +78,11 @@ int envdir_internal_noclamp (char const *path, stralloc *modifs, unsigned int op if ((c != ' ') && (c != '\t') && (c != '\r')) break ; } modifs->len++ ; - for (; i < modifs->len ; i++) if (!modifs->s[i]) modifs->s[i] = nullis ; } } } fd_close(fd) ; + for (; pos < modifs->len ; pos++) if (!modifs->s[pos]) modifs->s[pos] = nullis ; if (!stralloc_0(modifs)) goto err ; n++ ; } |