From c91be88e6da9699c3602cd7ec4cd2470433e7421 Mon Sep 17 00:00:00 2001 From: Jaidyn Levesque <10477760+JadedCtrl@users.noreply.github.com> Date: Wed, 2 Nov 2022 14:04:27 -0500 Subject: [PATCH] Fix buffer sizes in xattr_ext.c --- xattr_ext.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/xattr_ext.c b/xattr_ext.c index 4bc3176..4ce7cc0 100644 --- a/xattr_ext.c +++ b/xattr_ext.c @@ -22,15 +22,15 @@ char* get_xattr(const char* path, const char* attr, int* error_code) { - ssize_t value_length = getxattr(path, attr, NULL, 0); - if (value_length == -1) { + ssize_t value_size = getxattr(path, attr, NULL, 0); + if (value_size == -1) { *error_code = errno; return NULL; } - char* value = (char*) malloc(value_length); - ssize_t new_length = getxattr(path, attr, value, value_length); - *error_code = (new_length == -1) ? errno : 0; + char* value = (char*) malloc(value_size + 1); + ssize_t new_size = getxattr(path, attr, value, value_size + 1); + *error_code = (new_size == -1) ? errno : 0; return value; } @@ -55,8 +55,8 @@ list_xattr(const char* path, ssize_t* size, int* error_code) return NULL; } - char* value = (char*) malloc(value_size); - *size = llistxattr(path, value, value_size); + char* value = (char*) malloc(value_size + 1); + *size = llistxattr(path, value, value_size + 1); *error_code = (*size == -1) ? errno : 0; return value; }