From 4da91881cbf0d9ea92c8ab9d789214d14073fcaf Mon Sep 17 00:00:00 2001 From: Daisuke Niwa Date: Wed, 26 Jun 2019 15:27:33 +0900 Subject: [PATCH] P2P: Fix memory size for os_memmove() in p2p_check_pref_chan() 'sizeof' was not used with os_memmove() for an integer array. This lead to an issue with part of the preferred channel list not being used. Fixes: 79329ae0aa19 ("P2P: Verify local driver preferred frequencies for P2P use cases") Signed-off-by: Daichi Ueura --- src/p2p/p2p_go_neg.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/p2p/p2p_go_neg.c b/src/p2p/p2p_go_neg.c index 65ab4b8d3..c94bf41a7 100644 --- a/src/p2p/p2p_go_neg.c +++ b/src/p2p/p2p_go_neg.c @@ -676,7 +676,9 @@ void p2p_check_pref_chan(struct p2p_data *p2p, int go, "Ignore local driver frequency preference %u MHz since it is not acceptable for P2P use (go=%d)", freq_list[i], go); if (size - i - 1 > 0) - os_memmove(&freq_list[i], &freq_list[i + 1], size - i - 1); + os_memmove(&freq_list[i], &freq_list[i + 1], + (size - i - 1) * + sizeof(unsigned int)); size--; continue; }