diff options
| author | Marc <marc@malloc.me> | 2023-01-15 19:18:29 +1100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-15 19:18:29 +1100 |
| commit | acdad92339e601d47b9432fcdf43855b0e328fdd (patch) | |
| tree | a725f8b559a614430acdede306ef300af3e7b681 /src/libwifi | |
| parent | f418aabe41c21b7669caff0aed5ed0f2fdfef318 (diff) | |
| parent | 2967cd0ccb2256d67108ede4eddc932355c207cd (diff) | |
| download | libwifi-acdad92339e601d47b9432fcdf43855b0e328fdd.tar.gz libwifi-acdad92339e601d47b9432fcdf43855b0e328fdd.tar.bz2 libwifi-acdad92339e601d47b9432fcdf43855b0e328fdd.zip | |
Merge pull request #13 from mow/patch-1
fix: consquent adding of details
Diffstat (limited to 'src/libwifi')
| -rw-r--r-- | src/libwifi/gen/management/action.c | 8 |
1 files changed, 3 insertions, 5 deletions
| 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 @@ | |||
| 22 | size_t libwifi_add_action_detail(struct libwifi_action_detail *detail, const unsigned char *data, | 22 | size_t libwifi_add_action_detail(struct libwifi_action_detail *detail, const unsigned char *data, |
| 23 | size_t data_len) { | 23 | size_t data_len) { |
| 24 | if (detail->detail_length != 0) { | 24 | if (detail->detail_length != 0) { |
| 25 | detail->detail = realloc(detail->detail, data_len); | 25 | detail->detail = realloc(detail->detail, data_len + detail->detail_length); |
| 26 | } else { | 26 | } else { |
| 27 | detail->detail = malloc(data_len); | 27 | detail->detail = malloc(data_len); |
| 28 | } | 28 | } |
| @@ -31,10 +31,8 @@ size_t libwifi_add_action_detail(struct libwifi_action_detail *detail, const uns | |||
| 31 | return -EINVAL; | 31 | return -EINVAL; |
| 32 | } | 32 | } |
| 33 | 33 | ||
| 34 | detail->detail_length = data_len; | 34 | memcpy(detail->detail + detail->detail_length, data, data_len); |
| 35 | 35 | detail->detail_length += data_len; | |
| 36 | memcpy(detail->detail, data, data_len); | ||
| 37 | detail->detail_length = data_len; | ||
| 38 | 36 | ||
| 39 | return detail->detail_length; | 37 | return detail->detail_length; |
| 40 | } | 38 | } |
