From 2967cd0ccb2256d67108ede4eddc932355c207cd Mon Sep 17 00:00:00 2001 From: Anıl Date: Fri, 13 Jan 2023 15:44:18 +0300 Subject: fix: consquent adding of details to be able to add data to existing detail --- src/libwifi/gen/management/action.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/libwifi/gen/management/action.c b/src/libwifi/gen/management/action.c index dc37987..644f07a 100644 --- a/src/libwifi/gen/management/action.c +++ b/src/libwifi/gen/management/action.c @@ -22,7 +22,7 @@ size_t libwifi_add_action_detail(struct libwifi_action_detail *detail, const unsigned char *data, size_t data_len) { if (detail->detail_length != 0) { - detail->detail = realloc(detail->detail, data_len); + detail->detail = realloc(detail->detail, data_len + detail->detail_length); } else { detail->detail = malloc(data_len); } @@ -31,10 +31,8 @@ size_t libwifi_add_action_detail(struct libwifi_action_detail *detail, const uns return -EINVAL; } - detail->detail_length = data_len; - - memcpy(detail->detail, data, data_len); - detail->detail_length = data_len; + memcpy(detail->detail + detail->detail_length, data, data_len); + detail->detail_length += data_len; return detail->detail_length; } -- cgit 1.4.1