diff options
author | Pavel Raiskup <praiskup@redhat.com> | 2018-11-23 13:48:34 +0100 |
---|---|---|
committer | Pavel Raiskup <praiskup@redhat.com> | 2018-11-23 14:28:32 +0100 |
commit | ecfd245fbd1b0000540c75da56ad25201d5393b4 (patch) | |
tree | d171770248cafe875abf125edce4a8c66a62e137 /libarchive/archive_acl.c | |
parent | c114bb9fb585e7d74158afa7afbe8c44922479de (diff) | |
download | libarchive-ecfd245fbd1b0000540c75da56ad25201d5393b4.tar.gz |
Fix a few obvious resource leaks and strcpy() misuses
Per Coverity report.
Diffstat (limited to 'libarchive/archive_acl.c')
-rw-r--r-- | libarchive/archive_acl.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libarchive/archive_acl.c b/libarchive/archive_acl.c index 9941d2f6..6ce7ab66 100644 --- a/libarchive/archive_acl.c +++ b/libarchive/archive_acl.c @@ -753,8 +753,10 @@ archive_acl_to_text_w(struct archive_acl *acl, ssize_t *text_len, int flags, append_entry_w(&wp, prefix, ap->type, ap->tag, flags, wname, ap->permset, id); count++; - } else if (r < 0 && errno == ENOMEM) + } else if (r < 0 && errno == ENOMEM) { + free(ws); return (NULL); + } } /* Add terminating character */ @@ -975,8 +977,10 @@ archive_acl_to_text_l(struct archive_acl *acl, ssize_t *text_len, int flags, prefix = NULL; r = archive_mstring_get_mbs_l( &ap->name, &name, &len, sc); - if (r != 0) + if (r != 0) { + free(s); return (NULL); + } if (count > 0) *p++ = separator; if (name == NULL || |