1 /*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 #include "wpa_common_fuzzer.h"
16
17 #define WLAN_FREQ_MAX_NUM 35
18 #define ETH_ADDR_LEN 6
19 #define BITS_NUM_24 24
20 #define BITS_NUM_16 16
21 #define BITS_NUM_8 8
22 #define REPLY_SIZE 1024
23
24 static uint32_t g_wpaTestSize = 0;
25 struct IWpaCallback *g_wpaCallbackObj = nullptr;
26
SetWpaDataSize(const uint32_t * dataSize)27 uint32_t SetWpaDataSize(const uint32_t *dataSize)
28 {
29 if (dataSize != nullptr) {
30 g_wpaTestSize = *dataSize;
31 return HDF_SUCCESS;
32 }
33 HDF_LOGE("%{public}s: set data size failed!", __FUNCTION__);
34 return HDF_FAILURE;
35 }
36
GetWpaDataSize(uint32_t * dataSize)37 uint32_t GetWpaDataSize(uint32_t *dataSize)
38 {
39 if (dataSize != nullptr) {
40 *dataSize = g_wpaTestSize;
41 return HDF_SUCCESS;
42 }
43 HDF_LOGE("%{public}s: get data size failed!", __FUNCTION__);
44 return HDF_FAILURE;
45 }
46
Convert2Uint32(const uint8_t * ptr)47 uint32_t Convert2Uint32(const uint8_t *ptr)
48 {
49 if (ptr == nullptr) {
50 return 0;
51 }
52 /*
53 * Move the 0th digit 24 to the left, the first digit 16 to the left, the second digit 8 to the left,
54 * and the third digit no left
55 */
56 return (ptr[0] << BITS_NUM_24) | (ptr[1] << BITS_NUM_16) | (ptr[2] << BITS_NUM_8) | (ptr[3]);
57 }
58
PreProcessRawData(const uint8_t * rawData,size_t size,uint8_t * tmpRawData,size_t tmpRawDataSize)59 bool PreProcessRawData(const uint8_t *rawData, size_t size, uint8_t *tmpRawData, size_t tmpRawDataSize)
60 {
61 if (rawData == nullptr || tmpRawData == nullptr) {
62 HDF_LOGE("%{public}s: rawData or tmpRawData is nullptr!", __FUNCTION__);
63 return false;
64 }
65 uint32_t dataSize = size - OFFSET;
66 if (memcpy_s(tmpRawData, tmpRawDataSize, rawData + OFFSET, dataSize) != EOK) {
67 HDF_LOGE("%{public}s: memcpy_s failed!", __FUNCTION__);
68 return false;
69 }
70 if (SetWpaDataSize(&dataSize) != HDF_SUCCESS) {
71 HDF_LOGE("%{public}s: set data size failed!", __FUNCTION__);
72 return false;
73 }
74 return true;
75 }
76
77 /* **********Wpa Interface********** */
FuzzWpaInterfaceStart(struct IWpaInterface * interface,const uint8_t * rawData)78 void FuzzWpaInterfaceStart(struct IWpaInterface *interface, const uint8_t *rawData)
79 {
80 interface->Start(interface);
81 HDF_LOGI("%{public}s: success", __FUNCTION__);
82 }
83
FuzzWpaInterfaceStop(struct IWpaInterface * interface,const uint8_t * rawData)84 void FuzzWpaInterfaceStop(struct IWpaInterface *interface, const uint8_t *rawData)
85 {
86 interface->Stop(interface);
87 HDF_LOGI("%{public}s: success", __FUNCTION__);
88 }
89
FuzzWpaInterfaceScan(struct IWpaInterface * interface,const uint8_t * rawData)90 void FuzzWpaInterfaceScan(struct IWpaInterface *interface, const uint8_t *rawData)
91 {
92 const char *ifName = reinterpret_cast<const char *>(rawData);
93
94 interface->Scan(interface, ifName);
95 HDF_LOGI("%{public}s: success", __FUNCTION__);
96 }
97
FuzzWpaInterfaceScanResult(struct IWpaInterface * interface,const uint8_t * rawData)98 void FuzzWpaInterfaceScanResult(struct IWpaInterface *interface, const uint8_t *rawData)
99 {
100 const char *ifName = reinterpret_cast<const char *>(rawData);
101 unsigned char buf[ETH_ADDR_LEN] = {0x12, 0x34, 0x56, 0x78, 0xab, 0xcd};
102 uint32_t bufLen = ETH_ADDR_LEN;
103 interface->ScanResult(interface, ifName, buf, &bufLen);
104 HDF_LOGI("%{public}s: success", __FUNCTION__);
105 }
106
FuzzWpaInterfaceAddNetwork(struct IWpaInterface * interface,const uint8_t * rawData)107 void FuzzWpaInterfaceAddNetwork(struct IWpaInterface *interface, const uint8_t *rawData)
108 {
109 const char *ifName = reinterpret_cast<const char *>(rawData);
110 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
111
112 interface->AddNetwork(interface, ifName, &networkId);
113 HDF_LOGI("%{public}s: success", __FUNCTION__);
114 }
115
FuzzWpaInterfaceRemoveNetwork(struct IWpaInterface * interface,const uint8_t * rawData)116 void FuzzWpaInterfaceRemoveNetwork(struct IWpaInterface *interface, const uint8_t *rawData)
117 {
118 const char *ifName = reinterpret_cast<const char *>(rawData);
119 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
120
121 interface->RemoveNetwork(interface, ifName, networkId);
122 HDF_LOGI("%{public}s: success", __FUNCTION__);
123 }
124
FuzzWpaInterfaceDisableNetwork(struct IWpaInterface * interface,const uint8_t * rawData)125 void FuzzWpaInterfaceDisableNetwork(struct IWpaInterface *interface, const uint8_t *rawData)
126 {
127 const char *ifName = reinterpret_cast<const char *>(rawData);
128 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
129
130 interface->DisableNetwork(interface, ifName, networkId);
131 HDF_LOGI("%{public}s: success", __FUNCTION__);
132 }
133
FuzzWpaInterfaceSetNetwork(struct IWpaInterface * interface,const uint8_t * rawData)134 void FuzzWpaInterfaceSetNetwork(struct IWpaInterface *interface, const uint8_t *rawData)
135 {
136 const char *ifName = reinterpret_cast<const char *>(rawData);
137 const char *name = reinterpret_cast<const char *>(rawData);
138 const char *value = reinterpret_cast<const char *>(rawData);
139 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
140
141 interface->SetNetwork(interface, ifName, networkId, name, value);
142 HDF_LOGI("%{public}s: success", __FUNCTION__);
143 }
144
FuzzWpaInterfaceReconnect(struct IWpaInterface * interface,const uint8_t * rawData)145 void FuzzWpaInterfaceReconnect(struct IWpaInterface *interface, const uint8_t *rawData)
146 {
147 const char *ifName = reinterpret_cast<const char *>(rawData);
148
149 interface->Reconnect(interface, ifName);
150 HDF_LOGI("%{public}s: success", __FUNCTION__);
151 }
152
FuzzWpaInterfaceDisconnect(struct IWpaInterface * interface,const uint8_t * rawData)153 void FuzzWpaInterfaceDisconnect(struct IWpaInterface *interface, const uint8_t *rawData)
154 {
155 const char *ifName = reinterpret_cast<const char *>(rawData);
156
157 interface->Disconnect(interface, ifName);
158 HDF_LOGI("%{public}s: success", __FUNCTION__);
159 }
160
FuzzWpaInterfaceSelectNetwork(struct IWpaInterface * interface,const uint8_t * rawData)161 void FuzzWpaInterfaceSelectNetwork(struct IWpaInterface *interface, const uint8_t *rawData)
162 {
163 const char *ifName = reinterpret_cast<const char *>(rawData);
164 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
165
166 interface->SelectNetwork(interface, ifName, networkId);
167 HDF_LOGI("%{public}s: success", __FUNCTION__);
168 }
169
FuzzWpaInterfaceEnableNetwork(struct IWpaInterface * interface,const uint8_t * rawData)170 void FuzzWpaInterfaceEnableNetwork(struct IWpaInterface *interface, const uint8_t *rawData)
171 {
172 const char *ifName = reinterpret_cast<const char *>(rawData);
173 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
174
175 interface->EnableNetwork(interface, ifName, networkId);
176 HDF_LOGI("%{public}s: success", __FUNCTION__);
177 }
178
FuzzWpaInterfaceSetPowerSave(struct IWpaInterface * interface,const uint8_t * rawData)179 void FuzzWpaInterfaceSetPowerSave(struct IWpaInterface *interface, const uint8_t *rawData)
180 {
181 const char *ifName = reinterpret_cast<const char *>(rawData);
182 int32_t enable = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
183
184 interface->SetPowerSave(interface, ifName, enable);
185 HDF_LOGI("%{public}s: success", __FUNCTION__);
186 }
187
FuzzWpaInterfaceAutoConnect(struct IWpaInterface * interface,const uint8_t * rawData)188 void FuzzWpaInterfaceAutoConnect(struct IWpaInterface *interface, const uint8_t *rawData)
189 {
190 const char *ifName = reinterpret_cast<const char *>(rawData);
191 int32_t enable = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
192
193 interface->AutoConnect(interface, ifName, enable);
194 HDF_LOGI("%{public}s: success", __FUNCTION__);
195 }
196
FuzzWpaInterfaceSaveConfig(struct IWpaInterface * interface,const uint8_t * rawData)197 void FuzzWpaInterfaceSaveConfig(struct IWpaInterface *interface, const uint8_t *rawData)
198 {
199 const char *ifName = reinterpret_cast<const char *>(rawData);
200
201 interface->SaveConfig(interface, ifName);
202 HDF_LOGI("%{public}s: success", __FUNCTION__);
203 }
204
FuzzWpaInterfaceWpsCancel(struct IWpaInterface * interface,const uint8_t * rawData)205 void FuzzWpaInterfaceWpsCancel(struct IWpaInterface *interface, const uint8_t *rawData)
206 {
207 const char *ifName = reinterpret_cast<const char *>(rawData);
208
209 interface->WpsCancel(interface, ifName);
210 HDF_LOGI("%{public}s: success", __FUNCTION__);
211 }
212
FuzzWpaInterfaceGetCountryCode(struct IWpaInterface * interface,const uint8_t * rawData)213 void FuzzWpaInterfaceGetCountryCode(struct IWpaInterface *interface, const uint8_t *rawData)
214 {
215 const char *ifName = reinterpret_cast<const char *>(rawData);
216 char countryCode[3] = {0};
217
218 interface->GetCountryCode(interface, ifName, countryCode, 3);
219 HDF_LOGI("%{public}s: success", __FUNCTION__);
220 }
221
FuzzWpaInterfaceGetNetwork(struct IWpaInterface * interface,const uint8_t * rawData)222 void FuzzWpaInterfaceGetNetwork(struct IWpaInterface *interface, const uint8_t *rawData)
223 {
224 const char *ifName = reinterpret_cast<const char *>(rawData);
225 int networkId = 0;
226 char value[32] = {0};
227
228 interface->GetNetwork(interface, ifName, networkId, "ssid", value, 32);
229 HDF_LOGI("%{public}s: success", __FUNCTION__);
230 }
231
FuzzWpaInterfaceBlocklistClear(struct IWpaInterface * interface,const uint8_t * rawData)232 void FuzzWpaInterfaceBlocklistClear(struct IWpaInterface *interface, const uint8_t *rawData)
233 {
234 const char *ifName = reinterpret_cast<const char *>(rawData);
235
236 interface->BlocklistClear(interface, ifName);
237 HDF_LOGI("%{public}s: success", __FUNCTION__);
238 }
239
FuzzWpaInterfaceSetSuspendMode(struct IWpaInterface * interface,const uint8_t * rawData)240 void FuzzWpaInterfaceSetSuspendMode(struct IWpaInterface *interface, const uint8_t *rawData)
241 {
242 const char *ifName = reinterpret_cast<const char *>(rawData);
243 int32_t mode = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
244
245 interface->SetSuspendMode(interface, ifName, mode);
246 HDF_LOGI("%{public}s: success", __FUNCTION__);
247 }
248
FuzzWpaInterfaceGetScanSsid(struct IWpaInterface * interface,const uint8_t * rawData)249 void FuzzWpaInterfaceGetScanSsid(struct IWpaInterface *interface, const uint8_t *rawData)
250 {
251 const char *ifName = reinterpret_cast<const char *>(rawData);
252 int32_t enable = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
253
254 interface->GetScanSsid(interface, ifName, &enable);
255 HDF_LOGI("%{public}s: success", __FUNCTION__);
256 }
257
FuzzWpaInterfaceGetPskPassphrase(struct IWpaInterface * interface,const uint8_t * rawData)258 void FuzzWpaInterfaceGetPskPassphrase(struct IWpaInterface *interface, const uint8_t *rawData)
259 {
260 const char *ifName = reinterpret_cast<const char *>(rawData);
261 char psk[32] = {0};
262
263 interface->GetPskPassphrase(interface, ifName, psk, 32);
264 HDF_LOGI("%{public}s: success", __FUNCTION__);
265 }
266
FuzzWpaInterfaceGetPsk(struct IWpaInterface * interface,const uint8_t * rawData)267 void FuzzWpaInterfaceGetPsk(struct IWpaInterface *interface, const uint8_t *rawData)
268 {
269 const char *ifName = reinterpret_cast<const char *>(rawData);
270 uint8_t psk[32] = {0};
271 uint32_t pskLen = 32;
272
273 interface->GetPsk(interface, ifName, psk, &pskLen);
274 HDF_LOGI("%{public}s: success", __FUNCTION__);
275 }
276
FuzzWpaInterfaceGetWepKey(struct IWpaInterface * interface,const uint8_t * rawData)277 void FuzzWpaInterfaceGetWepKey(struct IWpaInterface *interface, const uint8_t *rawData)
278 {
279 const char *ifName = reinterpret_cast<const char *>(rawData);
280 uint8_t wepKey[16] = {0};
281 uint32_t wepKeyLen = 16;
282
283 interface->GetWepKey(interface, ifName, 1, wepKey, &wepKeyLen);
284 HDF_LOGI("%{public}s: success", __FUNCTION__);
285 }
286
FuzzWpaInterfaceGetWepTxKeyIdx(struct IWpaInterface * interface,const uint8_t * rawData)287 void FuzzWpaInterfaceGetWepTxKeyIdx(struct IWpaInterface *interface, const uint8_t *rawData)
288 {
289 const char *ifName = reinterpret_cast<const char *>(rawData);
290 int keyIdx = *const_cast<int *>(reinterpret_cast<const int *>(rawData));
291
292 interface->GetWepTxKeyIdx(interface, ifName, &keyIdx);
293 HDF_LOGI("%{public}s: success", __FUNCTION__);
294 }
295
FuzzWpaInterfaceGetRequirePmf(struct IWpaInterface * interface,const uint8_t * rawData)296 void FuzzWpaInterfaceGetRequirePmf(struct IWpaInterface *interface, const uint8_t *rawData)
297 {
298 const char *ifName = reinterpret_cast<const char *>(rawData);
299 int enable = *const_cast<int *>(reinterpret_cast<const int *>(rawData));
300
301 interface->GetRequirePmf(interface, ifName, &enable);
302 HDF_LOGI("%{public}s: success", __FUNCTION__);
303 }
304
FuzzWpaInterfaceSetCountryCode(struct IWpaInterface * interface,const uint8_t * rawData)305 void FuzzWpaInterfaceSetCountryCode(struct IWpaInterface *interface, const uint8_t *rawData)
306 {
307 const char *ifName = reinterpret_cast<const char *>(rawData);
308 const char countryCode[3] = {0};
309
310 interface->SetCountryCode(interface, ifName, countryCode);
311 HDF_LOGI("%{public}s: success", __FUNCTION__);
312 }
313
FuzzWpaInterfaceListNetworks(struct IWpaInterface * interface,const uint8_t * rawData)314 void FuzzWpaInterfaceListNetworks(struct IWpaInterface *interface, const uint8_t *rawData)
315 {
316 const char *ifName = reinterpret_cast<const char *>(rawData);
317 struct HdiWifiWpaNetworkInfo networkInfo;
318 (void)memset_s(&networkInfo, sizeof(struct HdiWifiWpaNetworkInfo), 0, sizeof(struct HdiWifiWpaNetworkInfo));
319 uint32_t networkInfoLen = 0;
320
321 interface->ListNetworks(interface, ifName, (struct HdiWifiWpaNetworkInfo *)&networkInfo, &networkInfoLen);
322 HDF_LOGI("%{public}s: success", __FUNCTION__);
323 }
324
FuzzWpaInterfaceWifiStatus(struct IWpaInterface * interface,const uint8_t * rawData)325 void FuzzWpaInterfaceWifiStatus(struct IWpaInterface *interface, const uint8_t *rawData)
326 {
327 const char *ifName = reinterpret_cast<const char *>(rawData);
328 struct HdiWpaCmdStatus wifiStatus;
329 (void)memset_s(&wifiStatus, sizeof(struct HdiWpaCmdStatus), 0, sizeof(struct HdiWpaCmdStatus));
330
331 interface->WifiStatus(interface, ifName, &wifiStatus);
332 HDF_LOGI("%{public}s: success", __FUNCTION__);
333 }
334
FuzzWpaInterfaceWpsPbcMode(struct IWpaInterface * interface,const uint8_t * rawData)335 void FuzzWpaInterfaceWpsPbcMode(struct IWpaInterface *interface, const uint8_t *rawData)
336 {
337 const char *ifName = reinterpret_cast<const char *>(rawData);
338 struct HdiWifiWpsParam wpsParam;
339 (void)memset_s(&wpsParam, sizeof(struct HdiWifiWpsParam), 0, sizeof(struct HdiWifiWpsParam));
340 wpsParam.anyFlag = 1;
341 wpsParam.multiAp = 1;
342 wpsParam.bssidLen = 6;
343 wpsParam.bssid = (uint8_t *)OsalMemCalloc(sizeof(uint8_t) * (wpsParam.bssidLen));
344 wpsParam.bssid[0] = 0x12;
345 wpsParam.bssid[1] = 0x34;
346 wpsParam.bssid[2] = 0x56;
347 wpsParam.bssid[3] = 0x78;
348 wpsParam.bssid[4] = 0xab;
349 wpsParam.bssid[5] = 0xcd;
350
351 interface->WpsPbcMode(interface, ifName, &wpsParam);
352 HDF_LOGI("%{public}s: success", __FUNCTION__);
353 }
354
FuzzWpaInterfaceWpsPinMode(struct IWpaInterface * interface,const uint8_t * rawData)355 void FuzzWpaInterfaceWpsPinMode(struct IWpaInterface *interface, const uint8_t *rawData)
356 {
357 const char *ifName = reinterpret_cast<const char *>(rawData);
358 struct HdiWifiWpsParam wpsParam;
359 (void)memset_s(&wpsParam, sizeof(struct HdiWifiWpsParam), 0, sizeof(struct HdiWifiWpsParam));
360 wpsParam.anyFlag = 1;
361 wpsParam.multiAp = 1;
362 wpsParam.bssidLen = 6;
363 wpsParam.bssid = (uint8_t *)OsalMemCalloc(sizeof(uint8_t) * (wpsParam.bssidLen));
364 wpsParam.bssid[0] = 0x12;
365 wpsParam.bssid[1] = 0x34;
366 wpsParam.bssid[2] = 0x56;
367 wpsParam.bssid[3] = 0x78;
368 wpsParam.bssid[4] = 0xab;
369 wpsParam.bssid[5] = 0xcd;
370 int pinCode = 0;
371
372 interface->WpsPinMode(interface, ifName, &wpsParam, &pinCode);
373 HDF_LOGI("%{public}s: success", __FUNCTION__);
374 }
375
FuzzWpaInterfaceRegisterEventCallback(struct IWpaInterface * interface,const uint8_t * rawData)376 void FuzzWpaInterfaceRegisterEventCallback(struct IWpaInterface *interface, const uint8_t *rawData)
377 {
378 const char *ifName = reinterpret_cast<const char *>(rawData);
379
380 interface->RegisterEventCallback(interface, g_wpaCallbackObj, ifName);
381 HDF_LOGI("%{public}s: success", __FUNCTION__);
382 }
383
FuzzWpaInterfaceUnregisterEventCallback(struct IWpaInterface * interface,const uint8_t * rawData)384 void FuzzWpaInterfaceUnregisterEventCallback(struct IWpaInterface *interface, const uint8_t *rawData)
385 {
386 const char *ifName = reinterpret_cast<const char *>(rawData);
387
388 interface->UnregisterEventCallback(interface, g_wpaCallbackObj, ifName);
389 HDF_LOGI("%{public}s: success", __FUNCTION__);
390 }
391
FuzzWpaInterfaceGetConnectionCapabilities(struct IWpaInterface * interface,const uint8_t * rawData)392 void FuzzWpaInterfaceGetConnectionCapabilities(struct IWpaInterface *interface, const uint8_t *rawData)
393 {
394 const char *ifName = reinterpret_cast<const char *>(rawData);
395 struct ConnectionCapabilities connectionCap;
396 (void)memset_s(&connectionCap, sizeof(struct ConnectionCapabilities), 0, sizeof(struct ConnectionCapabilities));
397
398 interface->GetConnectionCapabilities(interface, ifName, &connectionCap);
399 HDF_LOGI("%{public}s: success", __FUNCTION__);
400 }
401
FuzzWpaInterfaceAddWpaIface(struct IWpaInterface * interface,const uint8_t * rawData)402 void FuzzWpaInterfaceAddWpaIface(struct IWpaInterface *interface, const uint8_t *rawData)
403 {
404 const char *ifName = reinterpret_cast<const char *>(rawData);
405 const char *configname = "/data/service/el1/public/wifi/wpa_supplicant/wpa_supplicant.conf";
406 interface->AddWpaIface(interface, ifName, configname);
407 HDF_LOGI("%{public}s: success", __FUNCTION__);
408 }
409
FuzzWpaInterfaceRemoveWpaIface(struct IWpaInterface * interface,const uint8_t * rawData)410 void FuzzWpaInterfaceRemoveWpaIface(struct IWpaInterface *interface, const uint8_t *rawData)
411 {
412 const char *ifName = reinterpret_cast<const char *>(rawData);
413
414 interface->RemoveWpaIface(interface, ifName);
415 HDF_LOGI("%{public}s: success", __FUNCTION__);
416 }
417
418
419 /* **********P2p Interface********** */
FuzzWpaInterfaceP2pSetSsidPostfixName(struct IWpaInterface * interface,const uint8_t * rawData)420 void FuzzWpaInterfaceP2pSetSsidPostfixName(struct IWpaInterface *interface, const uint8_t *rawData)
421 {
422 const char *ifName = reinterpret_cast<const char *>(rawData);
423 const char *name = reinterpret_cast<const char *>(rawData);
424
425 interface->P2pSetSsidPostfixName(interface, ifName, name);
426 HDF_LOGI("%{public}s: success", __FUNCTION__);
427 }
428
FuzzWpaInterfaceP2pSetWpsDeviceType(struct IWpaInterface * interface,const uint8_t * rawData)429 void FuzzWpaInterfaceP2pSetWpsDeviceType(struct IWpaInterface *interface, const uint8_t *rawData)
430 {
431 const char *ifName = reinterpret_cast<const char *>(rawData);
432 const char *type = reinterpret_cast<const char *>(rawData);
433
434 interface->P2pSetWpsDeviceType(interface, ifName, type);
435 HDF_LOGI("%{public}s: success", __FUNCTION__);
436 }
437
FuzzWpaInterfaceP2pSetWpsConfigMethods(struct IWpaInterface * interface,const uint8_t * rawData)438 void FuzzWpaInterfaceP2pSetWpsConfigMethods(struct IWpaInterface *interface, const uint8_t *rawData)
439 {
440 const char *ifName = reinterpret_cast<const char *>(rawData);
441 const char *methods = reinterpret_cast<const char *>(rawData);
442
443 interface->P2pSetWpsConfigMethods(interface, ifName, methods);
444 HDF_LOGI("%{public}s: success", __FUNCTION__);
445 }
446
FuzzWpaInterfaceP2pSetGroupMaxIdle(struct IWpaInterface * interface,const uint8_t * rawData)447 void FuzzWpaInterfaceP2pSetGroupMaxIdle(struct IWpaInterface *interface, const uint8_t *rawData)
448 {
449 const char *ifName = reinterpret_cast<const char *>(rawData);
450 int32_t time = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
451
452 interface->P2pSetGroupMaxIdle(interface, ifName, time);
453 HDF_LOGI("%{public}s: success", __FUNCTION__);
454 }
455
FuzzWpaInterfaceP2pSetWfdEnable(struct IWpaInterface * interface,const uint8_t * rawData)456 void FuzzWpaInterfaceP2pSetWfdEnable(struct IWpaInterface *interface, const uint8_t *rawData)
457 {
458 const char *ifName = reinterpret_cast<const char *>(rawData);
459 int32_t enable = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
460
461 interface->P2pSetWfdEnable(interface, ifName, enable);
462 HDF_LOGI("%{public}s: success", __FUNCTION__);
463 }
464
FuzzWpaInterfaceP2pSetPersistentReconnect(struct IWpaInterface * interface,const uint8_t * rawData)465 void FuzzWpaInterfaceP2pSetPersistentReconnect(struct IWpaInterface *interface, const uint8_t *rawData)
466 {
467 const char *ifName = reinterpret_cast<const char *>(rawData);
468 int32_t status = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
469
470 interface->P2pSetPersistentReconnect(interface, ifName, status);
471 HDF_LOGI("%{public}s: success", __FUNCTION__);
472 }
473
FuzzWpaInterfaceP2pSetWpsSecondaryDeviceType(struct IWpaInterface * interface,const uint8_t * rawData)474 void FuzzWpaInterfaceP2pSetWpsSecondaryDeviceType(struct IWpaInterface *interface, const uint8_t *rawData)
475 {
476 const char *ifName = reinterpret_cast<const char *>(rawData);
477 const char *type = reinterpret_cast<const char *>(rawData);
478
479 interface->P2pSetWpsSecondaryDeviceType(interface, ifName, type);
480 HDF_LOGI("%{public}s: success", __FUNCTION__);
481 }
482
FuzzWpaInterfaceP2pSetupWpsPbc(struct IWpaInterface * interface,const uint8_t * rawData)483 void FuzzWpaInterfaceP2pSetupWpsPbc(struct IWpaInterface *interface, const uint8_t *rawData)
484 {
485 const char *ifName = reinterpret_cast<const char *>(rawData);
486 const char *address = reinterpret_cast<const char *>(rawData);
487
488 interface->P2pSetupWpsPbc(interface, ifName, address);
489 HDF_LOGI("%{public}s: success", __FUNCTION__);
490 }
491
FuzzWpaInterfaceP2pSetupWpsPin(struct IWpaInterface * interface,const uint8_t * rawData)492 void FuzzWpaInterfaceP2pSetupWpsPin(struct IWpaInterface *interface, const uint8_t *rawData)
493 {
494 const char *ifName = reinterpret_cast<const char *>(rawData);
495 const char *address = reinterpret_cast<const char *>(rawData);
496 const char *pin = reinterpret_cast<const char *>(rawData);
497 char result[32] = {0};
498 uint32_t resultLen = *const_cast<uint32_t *>(reinterpret_cast<const uint32_t *>(rawData));
499
500
501 interface->P2pSetupWpsPin(interface, ifName, address, pin, result, resultLen);
502 HDF_LOGI("%{public}s: success", __FUNCTION__);
503 }
504
FuzzWpaInterfaceP2pSetPowerSave(struct IWpaInterface * interface,const uint8_t * rawData)505 void FuzzWpaInterfaceP2pSetPowerSave(struct IWpaInterface *interface, const uint8_t *rawData)
506 {
507 const char *ifName = reinterpret_cast<const char *>(rawData);
508 int32_t enable = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
509
510 interface->P2pSetPowerSave(interface, ifName, enable);
511 HDF_LOGI("%{public}s: success", __FUNCTION__);
512 }
513
FuzzWpaInterfaceP2pSetDeviceName(struct IWpaInterface * interface,const uint8_t * rawData)514 void FuzzWpaInterfaceP2pSetDeviceName(struct IWpaInterface *interface, const uint8_t *rawData)
515 {
516 const char *ifName = reinterpret_cast<const char *>(rawData);
517 const char *name = reinterpret_cast<const char *>(rawData);
518
519 interface->P2pSetDeviceName(interface, ifName, name);
520 HDF_LOGI("%{public}s: success", __FUNCTION__);
521 }
522
FuzzWpaInterfaceP2pSetWfdDeviceConfig(struct IWpaInterface * interface,const uint8_t * rawData)523 void FuzzWpaInterfaceP2pSetWfdDeviceConfig(struct IWpaInterface *interface, const uint8_t *rawData)
524 {
525 const char *ifName = reinterpret_cast<const char *>(rawData);
526 const char *config = reinterpret_cast<const char *>(rawData);
527
528 interface->P2pSetWfdDeviceConfig(interface, ifName, config);
529 HDF_LOGI("%{public}s: success", __FUNCTION__);
530 }
531
FuzzWpaInterfaceP2pSetRandomMac(struct IWpaInterface * interface,const uint8_t * rawData)532 void FuzzWpaInterfaceP2pSetRandomMac(struct IWpaInterface *interface, const uint8_t *rawData)
533 {
534 const char *ifName = reinterpret_cast<const char *>(rawData);
535 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
536
537 interface->P2pSetRandomMac(interface, ifName, networkId);
538 HDF_LOGI("%{public}s: success", __FUNCTION__);
539 }
540
FuzzWpaInterfaceP2pStartFind(struct IWpaInterface * interface,const uint8_t * rawData)541 void FuzzWpaInterfaceP2pStartFind(struct IWpaInterface *interface, const uint8_t *rawData)
542 {
543 const char *ifName = reinterpret_cast<const char *>(rawData);
544 int32_t timeout = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
545
546 interface->P2pStartFind(interface, ifName, timeout);
547 HDF_LOGI("%{public}s: success", __FUNCTION__);
548 }
549
FuzzWpaInterfaceP2pSetExtListen(struct IWpaInterface * interface,const uint8_t * rawData)550 void FuzzWpaInterfaceP2pSetExtListen(struct IWpaInterface *interface, const uint8_t *rawData)
551 {
552 const char *ifName = reinterpret_cast<const char *>(rawData);
553 int32_t enable = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
554 int32_t period = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
555 int32_t interval = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
556
557 interface->P2pSetExtListen(interface, ifName, enable, period, interval);
558 HDF_LOGI("%{public}s: success", __FUNCTION__);
559 }
560
FuzzWpaInterfaceP2pSetListenChannel(struct IWpaInterface * interface,const uint8_t * rawData)561 void FuzzWpaInterfaceP2pSetListenChannel(struct IWpaInterface *interface, const uint8_t *rawData)
562 {
563 const char *ifName = reinterpret_cast<const char *>(rawData);
564 int32_t channel = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
565 int32_t regClass = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
566
567 interface->P2pSetListenChannel(interface, ifName, channel, regClass);
568 HDF_LOGI("%{public}s: success", __FUNCTION__);
569 }
570
FuzzWpaInterfaceP2pProvisionDiscovery(struct IWpaInterface * interface,const uint8_t * rawData)571 void FuzzWpaInterfaceP2pProvisionDiscovery(struct IWpaInterface *interface, const uint8_t *rawData)
572 {
573 const char *ifName = reinterpret_cast<const char *>(rawData);
574 const char *peerBssid = reinterpret_cast<const char *>(rawData);
575 int32_t mode = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
576
577 interface->P2pProvisionDiscovery(interface, ifName, peerBssid, mode);
578 HDF_LOGI("%{public}s: success", __FUNCTION__);
579 }
580
FuzzWpaInterfaceP2pAddGroup(struct IWpaInterface * interface,const uint8_t * rawData)581 void FuzzWpaInterfaceP2pAddGroup(struct IWpaInterface *interface, const uint8_t *rawData)
582 {
583 const char *ifName = reinterpret_cast<const char *>(rawData);
584 int32_t isPersistent = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
585 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
586 int32_t freq = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
587
588 interface->P2pAddGroup(interface, ifName, isPersistent, networkId, freq);
589 HDF_LOGI("%{public}s: success", __FUNCTION__);
590 }
591
FuzzWpaInterfaceP2pAddService(struct IWpaInterface * interface,const uint8_t * rawData)592 void FuzzWpaInterfaceP2pAddService(struct IWpaInterface *interface, const uint8_t *rawData)
593 {
594 const char *ifName = reinterpret_cast<const char *>(rawData);
595 struct HdiP2pServiceInfo info;
596 (void)memset_s(&info, sizeof(struct HdiP2pServiceInfo), 0, sizeof(struct HdiP2pServiceInfo));
597 info.mode = 0;
598 info.version = 0;
599 const int nameLen = 32;
600 info.nameLen = nameLen;
601 info.name = (uint8_t *)OsalMemCalloc(sizeof(uint8_t) * nameLen);
602 strcpy_s((char *)info.name, sizeof(info.name), "p2p0");
603
604 interface->P2pAddService(interface, ifName, &info);
605 HDF_LOGI("%{public}s: success", __FUNCTION__);
606 }
607
FuzzWpaInterfaceP2pRemoveService(struct IWpaInterface * interface,const uint8_t * rawData)608 void FuzzWpaInterfaceP2pRemoveService(struct IWpaInterface *interface, const uint8_t *rawData)
609 {
610 const char *ifName = reinterpret_cast<const char *>(rawData);
611 struct HdiP2pServiceInfo info;
612 (void)memset_s(&info, sizeof(struct HdiP2pServiceInfo), 0, sizeof(struct HdiP2pServiceInfo));
613
614 interface->P2pRemoveService(interface, ifName, &info);
615 HDF_LOGI("%{public}s: success", __FUNCTION__);
616 }
617
FuzzWpaInterfaceP2pStopFind(struct IWpaInterface * interface,const uint8_t * rawData)618 void FuzzWpaInterfaceP2pStopFind(struct IWpaInterface *interface, const uint8_t *rawData)
619 {
620 const char *ifName = reinterpret_cast<const char *>(rawData);
621
622 interface->P2pStopFind(interface, ifName);
623 HDF_LOGI("%{public}s: success", __FUNCTION__);
624 }
625
FuzzWpaInterfaceP2pFlush(struct IWpaInterface * interface,const uint8_t * rawData)626 void FuzzWpaInterfaceP2pFlush(struct IWpaInterface *interface, const uint8_t *rawData)
627 {
628 const char *ifName = reinterpret_cast<const char *>(rawData);
629
630 interface->P2pFlush(interface, ifName);
631 HDF_LOGI("%{public}s: success", __FUNCTION__);
632 }
633
FuzzWpaInterfaceP2pFlushService(struct IWpaInterface * interface,const uint8_t * rawData)634 void FuzzWpaInterfaceP2pFlushService(struct IWpaInterface *interface, const uint8_t *rawData)
635 {
636 const char *ifName = reinterpret_cast<const char *>(rawData);
637
638 interface->P2pFlushService(interface, ifName);
639 HDF_LOGI("%{public}s: success", __FUNCTION__);
640 }
641
FuzzWpaInterfaceP2pRemoveNetwork(struct IWpaInterface * interface,const uint8_t * rawData)642 void FuzzWpaInterfaceP2pRemoveNetwork(struct IWpaInterface *interface, const uint8_t *rawData)
643 {
644 const char *ifName = reinterpret_cast<const char *>(rawData);
645 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
646
647 interface->P2pRemoveNetwork(interface, ifName, networkId);
648 HDF_LOGI("%{public}s: success", __FUNCTION__);
649 }
650
FuzzWpaInterfaceP2pSetGroupConfig(struct IWpaInterface * interface,const uint8_t * rawData)651 void FuzzWpaInterfaceP2pSetGroupConfig(struct IWpaInterface *interface, const uint8_t *rawData)
652 {
653 const char *ifName = reinterpret_cast<const char *>(rawData);
654 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
655 const char *name = reinterpret_cast<const char *>(rawData);
656 const char *value = reinterpret_cast<const char *>(rawData);
657
658 interface->P2pSetGroupConfig(interface, ifName, networkId, name, value);
659 HDF_LOGI("%{public}s: success", __FUNCTION__);
660 }
661
FuzzWpaInterfaceP2pInvite(struct IWpaInterface * interface,const uint8_t * rawData)662 void FuzzWpaInterfaceP2pInvite(struct IWpaInterface *interface, const uint8_t *rawData)
663 {
664 const char *ifName = reinterpret_cast<const char *>(rawData);
665 const char *peerBssid = reinterpret_cast<const char *>(rawData);
666 const char *goBssid = reinterpret_cast<const char *>(rawData);
667
668 interface->P2pInvite(interface, ifName, peerBssid, goBssid);
669 HDF_LOGI("%{public}s: success", __FUNCTION__);
670 }
671
FuzzWpaInterfaceP2pReinvoke(struct IWpaInterface * interface,const uint8_t * rawData)672 void FuzzWpaInterfaceP2pReinvoke(struct IWpaInterface *interface, const uint8_t *rawData)
673 {
674 const char *ifName = reinterpret_cast<const char *>(rawData);
675 const char *bssid = reinterpret_cast<const char *>(rawData);
676 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
677
678 interface->P2pReinvoke(interface, ifName, networkId, bssid);
679 HDF_LOGI("%{public}s: success", __FUNCTION__);
680 }
681
FuzzWpaInterfaceP2pGetDeviceAddress(struct IWpaInterface * interface,const uint8_t * rawData)682 void FuzzWpaInterfaceP2pGetDeviceAddress(struct IWpaInterface *interface, const uint8_t *rawData)
683 {
684 const char *ifName = reinterpret_cast<const char *>(rawData);
685 char deviceAddress[32] = {0};
686 uint32_t deviceAddressLen = *const_cast<uint32_t *>(reinterpret_cast<const uint32_t *>(rawData));
687
688 interface->P2pGetDeviceAddress(interface, ifName, deviceAddress, deviceAddressLen);
689 HDF_LOGI("%{public}s: success", __FUNCTION__);
690 }
691
FuzzWpaInterfaceP2pReqServiceDiscovery(struct IWpaInterface * interface,const uint8_t * rawData)692 void FuzzWpaInterfaceP2pReqServiceDiscovery(struct IWpaInterface *interface, const uint8_t *rawData)
693 {
694 const char *ifName = reinterpret_cast<const char *>(rawData);
695 char *replyDisc = (char *)calloc(REPLY_SIZE, sizeof(char));
696 uint32_t replyDiscLen = REPLY_SIZE;
697 struct HdiP2pReqService reqService;
698 (void)memset_s(&reqService, sizeof(struct HdiP2pReqService), 0, sizeof(struct HdiP2pReqService));
699 reqService.bssidLen = ETH_ADDR_LEN;
700 reqService.bssid = (uint8_t *)OsalMemCalloc(sizeof(uint8_t) * (reqService.bssidLen));
701 reqService.bssid[0] = 0x12;
702 reqService.bssid[1] = 0x34;
703 reqService.bssid[2] = 0x56;
704 reqService.bssid[3] = 0x78;
705 reqService.bssid[4] = 0xab;
706 reqService.bssid[5] = 0xcd;
707
708 interface->P2pReqServiceDiscovery(interface, ifName, &reqService, replyDisc, replyDiscLen);
709 HDF_LOGI("%{public}s: success", __FUNCTION__);
710 }
711
FuzzWpaInterfaceP2pCancelServiceDiscovery(struct IWpaInterface * interface,const uint8_t * rawData)712 void FuzzWpaInterfaceP2pCancelServiceDiscovery(struct IWpaInterface *interface, const uint8_t *rawData)
713 {
714 const char *ifName = reinterpret_cast<const char *>(rawData);
715 const char *id = reinterpret_cast<const char *>(rawData);
716
717 interface->P2pCancelServiceDiscovery(interface, ifName, id);
718 HDF_LOGI("%{public}s: success", __FUNCTION__);
719 }
720
FuzzWpaInterfaceP2pRespServerDiscovery(struct IWpaInterface * interface,const uint8_t * rawData)721 void FuzzWpaInterfaceP2pRespServerDiscovery(struct IWpaInterface *interface, const uint8_t *rawData)
722 {
723 const char *ifName = reinterpret_cast<const char *>(rawData);
724 struct HdiP2pServDiscReqInfo info;
725 (void)memset_s(&info, sizeof(struct HdiP2pServDiscReqInfo), 0, sizeof(struct HdiP2pServDiscReqInfo));
726
727 interface->P2pRespServerDiscovery(interface, ifName, &info);
728 HDF_LOGI("%{public}s: success", __FUNCTION__);
729 }
730
FuzzWpaInterfaceP2pConnect(struct IWpaInterface * interface,const uint8_t * rawData)731 void FuzzWpaInterfaceP2pConnect(struct IWpaInterface *interface, const uint8_t *rawData)
732 {
733 const char *ifName = reinterpret_cast<const char *>(rawData);
734 struct HdiP2pConnectInfo info;
735 (void)memset_s(&info, sizeof(struct HdiP2pConnectInfo), 0, sizeof(struct HdiP2pConnectInfo));
736 char *replyPin = (char *)calloc(REPLY_SIZE, sizeof(char));
737 uint32_t replyPinLen = REPLY_SIZE;
738
739 interface->P2pConnect(interface, ifName, &info, replyPin, replyPinLen);
740 HDF_LOGI("%{public}s: success", __FUNCTION__);
741 }
742
FuzzWpaInterfaceP2pHid2dConnect(struct IWpaInterface * interface,const uint8_t * rawData)743 void FuzzWpaInterfaceP2pHid2dConnect(struct IWpaInterface *interface, const uint8_t *rawData)
744 {
745 const char *ifName = reinterpret_cast<const char *>(rawData);
746 struct HdiHid2dConnectInfo info;
747 (void)memset_s(&info, sizeof(struct HdiHid2dConnectInfo), 0, sizeof(struct HdiHid2dConnectInfo));
748
749 interface->P2pHid2dConnect(interface, ifName, &info);
750 HDF_LOGI("%{public}s: success", __FUNCTION__);
751 }
752
FuzzWpaInterfaceP2pSetServDiscExternal(struct IWpaInterface * interface,const uint8_t * rawData)753 void FuzzWpaInterfaceP2pSetServDiscExternal(struct IWpaInterface *interface, const uint8_t *rawData)
754 {
755 const char *ifName = reinterpret_cast<const char *>(rawData);
756 int32_t mode = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
757
758 interface->P2pSetServDiscExternal(interface, ifName, mode);
759 HDF_LOGI("%{public}s: success", __FUNCTION__);
760 }
761
FuzzWpaInterfaceP2pRemoveGroup(struct IWpaInterface * interface,const uint8_t * rawData)762 void FuzzWpaInterfaceP2pRemoveGroup(struct IWpaInterface *interface, const uint8_t *rawData)
763 {
764 const char *ifName = reinterpret_cast<const char *>(rawData);
765 const char *groupName = reinterpret_cast<const char *>(rawData);
766
767 interface->P2pRemoveGroup(interface, ifName, groupName);
768 HDF_LOGI("%{public}s: success", __FUNCTION__);
769 }
770
FuzzWpaInterfaceP2pCancelConnect(struct IWpaInterface * interface,const uint8_t * rawData)771 void FuzzWpaInterfaceP2pCancelConnect(struct IWpaInterface *interface, const uint8_t *rawData)
772 {
773 const char *ifName = reinterpret_cast<const char *>(rawData);
774
775 interface->P2pCancelConnect(interface, ifName);
776 HDF_LOGI("%{public}s: success", __FUNCTION__);
777 }
778
FuzzWpaInterfaceP2pGetGroupConfig(struct IWpaInterface * interface,const uint8_t * rawData)779 void FuzzWpaInterfaceP2pGetGroupConfig(struct IWpaInterface *interface, const uint8_t *rawData)
780 {
781 const char *ifName = reinterpret_cast<const char *>(rawData);
782 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
783 const char *param = reinterpret_cast<const char *>(rawData);
784 char value[32] = {0};
785 uint32_t valueLen = *const_cast<uint32_t *>(reinterpret_cast<const uint32_t *>(rawData));
786
787 interface->P2pGetGroupConfig(interface, ifName, networkId, param, value, valueLen);
788 HDF_LOGI("%{public}s: success", __FUNCTION__);
789 }
790
FuzzWpaInterfaceP2pAddNetwork(struct IWpaInterface * interface,const uint8_t * rawData)791 void FuzzWpaInterfaceP2pAddNetwork(struct IWpaInterface *interface, const uint8_t *rawData)
792 {
793 const char *ifName = reinterpret_cast<const char *>(rawData);
794 int32_t networkId = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
795
796 interface->P2pAddNetwork(interface, ifName, &networkId);
797 HDF_LOGI("%{public}s: success", __FUNCTION__);
798 }
799
FuzzWpaInterfaceP2pGetPeer(struct IWpaInterface * interface,const uint8_t * rawData)800 void FuzzWpaInterfaceP2pGetPeer(struct IWpaInterface *interface, const uint8_t *rawData)
801 {
802 const char *ifName = reinterpret_cast<const char *>(rawData);
803 const char *bssid = reinterpret_cast<const char *>(rawData);
804 struct HdiP2pDeviceInfo info;
805 (void)memset_s(&info, sizeof(struct HdiP2pDeviceInfo), 0, sizeof(struct HdiP2pDeviceInfo));
806
807 interface->P2pGetPeer(interface, ifName, bssid, &info);
808 HDF_LOGI("%{public}s: success", __FUNCTION__);
809 }
810
FuzzWpaInterfaceP2pGetGroupCapability(struct IWpaInterface * interface,const uint8_t * rawData)811 void FuzzWpaInterfaceP2pGetGroupCapability(struct IWpaInterface *interface, const uint8_t *rawData)
812 {
813 const char *ifName = reinterpret_cast<const char *>(rawData);
814 const char *bssid = reinterpret_cast<const char *>(rawData);
815 int32_t cap = *const_cast<int32_t *>(reinterpret_cast<const int32_t *>(rawData));
816
817 interface->P2pGetGroupCapability(interface, ifName, bssid, &cap);
818 HDF_LOGI("%{public}s: success", __FUNCTION__);
819 }
820
FuzzWpaInterfaceP2pListNetworks(struct IWpaInterface * interface,const uint8_t * rawData)821 void FuzzWpaInterfaceP2pListNetworks(struct IWpaInterface *interface, const uint8_t *rawData)
822 {
823 const char *ifName = reinterpret_cast<const char *>(rawData);
824 struct HdiP2pNetworkList infoList;
825 (void)memset_s(&infoList, sizeof(struct HdiP2pNetworkList), 0, sizeof(struct HdiP2pNetworkList));
826
827 interface->P2pListNetworks(interface, ifName, &infoList);
828 HDF_LOGI("%{public}s: success", __FUNCTION__);
829 }
830
FuzzWpaInterfaceP2pSaveConfig(struct IWpaInterface * interface,const uint8_t * rawData)831 void FuzzWpaInterfaceP2pSaveConfig(struct IWpaInterface *interface, const uint8_t *rawData)
832 {
833 const char *ifName = reinterpret_cast<const char *>(rawData);
834
835 interface->P2pSaveConfig(interface, ifName);
836 HDF_LOGI("%{public}s: success", __FUNCTION__);
837 }
838