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
16 #include "locatorabilitystub_fuzzer.h"
17
18 #include "accesstoken_kit.h"
19 #include "if_system_ability_manager.h"
20 #include "iservice_registry.h"
21 #include "message_option.h"
22 #include "message_parcel.h"
23 #include "nativetoken_kit.h"
24 #include "system_ability_definition.h"
25 #include "token_setproc.h"
26 #include "locator_ability.h"
27 #include "locationhub_ipc_interface_code.h"
28 #include "permission_manager.h"
29 #include "locator_callback_host.h"
30 #include "geo_convert_callback_host.h"
31 #include "gnss_status_callback_host.h"
32 #include "location_error_callback_napi.h"
33 #include "bluetooth_scan_result_callback_napi.h"
34
35 namespace OHOS {
36 using namespace OHOS::Location;
37 const int32_t MAX_MEM_SIZE = 4 * 1024 * 1024;
38 const int32_t LOCATION_PERM_NUM = 7;
39 const int32_t WAIT_EVENT_TIME = 3;
40 const int32_t MIN_SIZE_NUM = 10;
MockNativePermission()41 void MockNativePermission()
42 {
43 const char *perms[] = {
44 ACCESS_LOCATION.c_str(), ACCESS_APPROXIMATELY_LOCATION.c_str(),
45 ACCESS_BACKGROUND_LOCATION.c_str(), MANAGE_SECURE_SETTINGS.c_str(),
46 ACCESS_CONTROL_LOCATION_SWITCH.c_str(), ACCESS_LOCATION_SWITCH_IGNORED.c_str(),
47 ACCESS_MOCK_LOCATION.c_str(),
48 };
49 NativeTokenInfoParams infoInstance = {
50 .dcapsNum = 0,
51 .permsNum = LOCATION_PERM_NUM,
52 .aclsNum = 0,
53 .dcaps = nullptr,
54 .perms = perms,
55 .acls = nullptr,
56 .processName = "LocatorAbility_FuzzTest",
57 .aplStr = "system_basic",
58 };
59 auto tokenId = GetAccessTokenId(&infoInstance);
60 SetSelfTokenID(tokenId);
61 Security::AccessToken::AccessTokenKit::ReloadNativeTokenInfo();
62 LocatorAbility::GetInstance()->EnableAbility(true);
63 }
64
ParseData(const uint8_t * data,size_t size)65 char* ParseData(const uint8_t* data, size_t size)
66 {
67 if (data == nullptr) {
68 return nullptr;
69 }
70
71 if (size > MAX_MEM_SIZE) {
72 return nullptr;
73 }
74
75 char* ch = (char *)malloc(size + 1);
76 if (ch == nullptr) {
77 return nullptr;
78 }
79
80 (void)memset_s(ch, size + 1, 0x00, size + 1);
81 if (memcpy_s(ch, size, data, size) != EOK) {
82 free(ch);
83 ch = nullptr;
84 return nullptr;
85 }
86 return ch;
87 }
88
LocatorAbilityStub001FuzzTest(const char * data,size_t size)89 bool LocatorAbilityStub001FuzzTest(const char* data, size_t size)
90 {
91 MessageParcel requestParcel;
92 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
93 requestParcel.WriteBuffer(data, size);
94 requestParcel.RewindRead(0);
95
96 MessageParcel reply;
97 MessageOption option;
98
99 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
100 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::DISABLE_LOCATION_MOCK),
101 requestParcel, reply, option);
102
103 return true;
104 }
105
LocatorAbilityStub002FuzzTest(const char * data,size_t size)106 bool LocatorAbilityStub002FuzzTest(const char* data, size_t size)
107 {
108 MessageParcel requestParcel;
109 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
110 requestParcel.WriteBuffer(data, size);
111 requestParcel.RewindRead(0);
112
113 MessageParcel reply;
114 MessageOption option;
115
116 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
117 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::ENABLE_ABILITY),
118 requestParcel, reply, option);
119
120 return true;
121 }
122
LocatorAbilityStub003FuzzTest(const char * data,size_t size)123 bool LocatorAbilityStub003FuzzTest(const char* data, size_t size)
124 {
125 MessageParcel requestParcel;
126 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
127 requestParcel.WriteBuffer(data, size);
128 requestParcel.RewindRead(0);
129
130 MessageParcel reply;
131 MessageOption option;
132
133 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
134 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::ENABLE_LOCATION_MOCK),
135 requestParcel, reply, option);
136
137 return true;
138 }
139
LocatorAbilityStub004FuzzTest(const char * data,size_t size)140 bool LocatorAbilityStub004FuzzTest(const char* data, size_t size)
141 {
142 MessageParcel requestParcel;
143 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
144 requestParcel.WriteBuffer(data, size);
145 requestParcel.RewindRead(0);
146
147 MessageParcel reply;
148 MessageOption option;
149
150 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
151 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::GET_CACHE_LOCATION),
152 requestParcel, reply, option);
153
154 return true;
155 }
156
LocatorAbilityStub005FuzzTest(const char * data,size_t size)157 bool LocatorAbilityStub005FuzzTest(const char* data, size_t size)
158 {
159 MessageParcel requestParcel;
160 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
161 requestParcel.WriteBuffer(data, size);
162 requestParcel.RewindRead(0);
163
164 MessageParcel reply;
165 MessageOption option;
166
167 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
168 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::GET_ISO_COUNTRY_CODE),
169 requestParcel, reply, option);
170
171 return true;
172 }
173
LocatorAbilityStub006FuzzTest(const char * data,size_t size)174 bool LocatorAbilityStub006FuzzTest(const char* data, size_t size)
175 {
176 MessageParcel requestParcel;
177 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
178 requestParcel.WriteBuffer(data, size);
179 requestParcel.RewindRead(0);
180
181 MessageParcel reply;
182 MessageOption option;
183
184 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
185 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::GET_SWITCH_STATE),
186 requestParcel, reply, option);
187
188 return true;
189 }
190
LocatorAbilityStub007FuzzTest(const char * data,size_t size)191 bool LocatorAbilityStub007FuzzTest(const char* data, size_t size)
192 {
193 MessageParcel requestParcel;
194 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
195 requestParcel.WriteBuffer(data, size);
196 requestParcel.RewindRead(0);
197
198 MessageParcel reply;
199 MessageOption option;
200
201 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
202 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::IS_PRIVACY_COMFIRMED),
203 requestParcel, reply, option);
204
205 return true;
206 }
207
LocatorAbilityStub008FuzzTest(const char * data,size_t size)208 bool LocatorAbilityStub008FuzzTest(const char* data, size_t size)
209 {
210 MessageParcel requestParcel;
211 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
212 requestParcel.WriteBuffer(data, size);
213 requestParcel.RewindRead(0);
214
215 MessageParcel reply;
216 MessageOption option;
217
218 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
219 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::PROXY_PID_FOR_FREEZE),
220 requestParcel, reply, option);
221
222 return true;
223 }
224
LocatorAbilityStub009FuzzTest(const char * data,size_t size)225 bool LocatorAbilityStub009FuzzTest(const char* data, size_t size)
226 {
227 MessageParcel requestParcel;
228 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
229 requestParcel.WriteBuffer(data, size);
230 requestParcel.RewindRead(0);
231
232 MessageParcel reply;
233 MessageOption option;
234
235 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
236 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REG_COUNTRY_CODE_CALLBACK),
237 requestParcel, reply, option);
238
239 return true;
240 }
241
LocatorAbilityStub010FuzzTest(const char * data,size_t size)242 bool LocatorAbilityStub010FuzzTest(const char* data, size_t size)
243 {
244 MessageParcel requestParcel;
245 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
246 requestParcel.WriteBuffer(data, size);
247 requestParcel.RewindRead(0);
248
249 MessageParcel reply;
250 MessageOption option;
251
252 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
253 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REG_SWITCH_CALLBACK),
254 requestParcel, reply, option);
255
256 return true;
257 }
258
LocatorAbilityStub011FuzzTest(const char * data,size_t size)259 bool LocatorAbilityStub011FuzzTest(const char* data, size_t size)
260 {
261 MessageParcel requestParcel;
262 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
263 requestParcel.WriteBuffer(data, size);
264 requestParcel.RewindRead(0);
265
266 MessageParcel reply;
267 MessageOption option;
268
269 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
270 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REPORT_LOCATION),
271 requestParcel, reply, option);
272
273 return true;
274 }
275
LocatorAbilityStub012FuzzTest(const char * data,size_t size)276 bool LocatorAbilityStub012FuzzTest(const char* data, size_t size)
277 {
278 MessageParcel requestParcel;
279 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
280 requestParcel.WriteBuffer(data, size);
281 requestParcel.RewindRead(0);
282
283 MessageParcel reply;
284 MessageOption option;
285
286 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
287 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::RESET_ALL_PROXY),
288 requestParcel, reply, option);
289
290 return true;
291 }
292
LocatorAbilityStub013FuzzTest(const char * data,size_t size)293 bool LocatorAbilityStub013FuzzTest(const char* data, size_t size)
294 {
295 MessageParcel requestParcel;
296 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
297 requestParcel.WriteBuffer(data, size);
298 requestParcel.RewindRead(0);
299
300 MessageParcel reply;
301 MessageOption option;
302
303 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
304 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::SET_MOCKED_LOCATIONS),
305 requestParcel, reply, option);
306
307 return true;
308 }
309
LocatorAbilityStub014FuzzTest(const char * data,size_t size)310 bool LocatorAbilityStub014FuzzTest(const char* data, size_t size)
311 {
312 MessageParcel requestParcel;
313 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
314 requestParcel.WriteBuffer(data, size);
315 requestParcel.RewindRead(0);
316
317 MessageParcel reply;
318 MessageOption option;
319
320 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
321 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::SET_PRIVACY_COMFIRM_STATUS),
322 requestParcel, reply, option);
323 return true;
324 }
325
LocatorAbilityStub015FuzzTest(const char * data,size_t size)326 bool LocatorAbilityStub015FuzzTest(const char* data, size_t size)
327 {
328 MessageParcel requestParcel;
329 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
330 RequestConfig requestConfig;
331 requestParcel.WriteParcelable(&requestConfig);
332 sptr<LocatorCallbackHost> cb = new (std::nothrow) LocatorCallbackHost();
333 requestParcel.WriteRemoteObject(cb->AsObject());
334 requestParcel.WriteBuffer(data, size);
335 requestParcel.RewindRead(0);
336
337 MessageParcel reply;
338 MessageOption option;
339
340 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
341 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::START_LOCATING),
342 requestParcel, reply, option);
343
344 return true;
345 }
346
LocatorAbilityStub016FuzzTest(const char * data,size_t size)347 bool LocatorAbilityStub016FuzzTest(const char* data, size_t size)
348 {
349 MessageParcel requestParcel;
350 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
351 sptr<LocatorCallbackHost> cb = new (std::nothrow) LocatorCallbackHost();
352 requestParcel.WriteRemoteObject(cb->AsObject());
353 requestParcel.WriteBuffer(data, size);
354 requestParcel.RewindRead(0);
355
356 MessageParcel reply;
357 MessageOption option;
358
359 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
360 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::STOP_LOCATING),
361 requestParcel, reply, option);
362
363 return true;
364 }
365
LocatorAbilityStub017FuzzTest(const char * data,size_t size)366 bool LocatorAbilityStub017FuzzTest(const char* data, size_t size)
367 {
368 MessageParcel requestParcel;
369 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
370 requestParcel.WriteBuffer(data, size);
371 requestParcel.RewindRead(0);
372
373 MessageParcel reply;
374 MessageOption option;
375
376 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
377 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::UPDATE_SA_ABILITY),
378 requestParcel, reply, option);
379 return true;
380 }
381
LocatorAbilityStub018FuzzTest(const char * data,size_t size)382 bool LocatorAbilityStub018FuzzTest(const char* data, size_t size)
383 {
384 MessageParcel requestParcel;
385 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
386 requestParcel.WriteBuffer(data, size);
387 requestParcel.RewindRead(0);
388
389 MessageParcel reply;
390 MessageOption option;
391
392 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
393 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::DISABLE_REVERSE_GEOCODE_MOCK),
394 requestParcel, reply, option);
395
396 return true;
397 }
398
LocatorAbilityStub019FuzzTest(const char * data,size_t size)399 bool LocatorAbilityStub019FuzzTest(const char* data, size_t size)
400 {
401 MessageParcel requestParcel;
402 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
403 requestParcel.WriteBuffer(data, size);
404 requestParcel.RewindRead(0);
405
406 MessageParcel reply;
407 MessageOption option;
408
409 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
410 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::ENABLE_REVERSE_GEOCODE_MOCK),
411 requestParcel, reply, option);
412
413 return true;
414 }
415
LocatorAbilityStub020FuzzTest(const char * data,size_t size)416 bool LocatorAbilityStub020FuzzTest(const char* data, size_t size)
417 {
418 MessageParcel requestParcel;
419 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
420 requestParcel.WriteBuffer(data, size);
421 requestParcel.RewindRead(0);
422
423 MessageParcel reply;
424 MessageOption option;
425
426 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
427 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::GEO_IS_AVAILABLE),
428 requestParcel, reply, option);
429
430 return true;
431 }
432
LocatorAbilityStub021FuzzTest(const char * data,size_t size)433 bool LocatorAbilityStub021FuzzTest(const char* data, size_t size)
434 {
435 MessageParcel requestParcel;
436 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
437 sptr<GeoConvertCallbackHost> cb = new (std::nothrow) GeoConvertCallbackHost();
438 requestParcel.WriteRemoteObject(cb->AsObject());
439 GeocodeConvertLocationRequest request;
440 requestParcel.WriteParcelable(&request);
441 requestParcel.WriteBuffer(data, size);
442 requestParcel.RewindRead(0);
443
444 MessageParcel reply;
445 MessageOption option;
446
447 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
448 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::GET_FROM_COORDINATE),
449 requestParcel, reply, option);
450
451 return true;
452 }
453
LocatorAbilityStub022FuzzTest(const char * data,size_t size)454 bool LocatorAbilityStub022FuzzTest(const char* data, size_t size)
455 {
456 MessageParcel requestParcel;
457 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
458 sptr<GeoConvertCallbackHost> cb = new (std::nothrow) GeoConvertCallbackHost();
459 requestParcel.WriteRemoteObject(cb->AsObject());
460 GeocodeConvertAddressRequest request;
461 requestParcel.WriteParcelable(&request);
462 requestParcel.WriteBuffer(data, size);
463 requestParcel.RewindRead(0);
464
465 MessageParcel reply;
466 MessageOption option;
467
468 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
469 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::GET_FROM_LOCATION_NAME),
470 requestParcel, reply, option);
471
472 return true;
473 }
474
LocatorAbilityStub023FuzzTest(const char * data,size_t size)475 bool LocatorAbilityStub023FuzzTest(const char* data, size_t size)
476 {
477 MessageParcel requestParcel;
478 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
479 requestParcel.WriteBuffer(data, size);
480 requestParcel.RewindRead(0);
481
482 MessageParcel reply;
483 MessageOption option;
484
485 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
486 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::SET_REVERSE_GEOCODE_MOCKINFO),
487 requestParcel, reply, option);
488
489 return true;
490 }
491
LocatorAbilityStub024FuzzTest(const char * data,size_t size)492 bool LocatorAbilityStub024FuzzTest(const char* data, size_t size)
493 {
494 MessageParcel requestParcel;
495 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
496 requestParcel.WriteBuffer(data, size);
497 requestParcel.RewindRead(0);
498
499 MessageParcel reply;
500 MessageOption option;
501
502 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
503 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::ADD_FENCE),
504 requestParcel, reply, option);
505
506 return true;
507 }
508
LocatorAbilityStub025FuzzTest(const char * data,size_t size)509 bool LocatorAbilityStub025FuzzTest(const char* data, size_t size)
510 {
511 MessageParcel requestParcel;
512 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
513 requestParcel.WriteBuffer(data, size);
514 requestParcel.RewindRead(0);
515
516 MessageParcel reply;
517 MessageOption option;
518
519 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
520 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::FLUSH_CACHED_LOCATIONS),
521 requestParcel, reply, option);
522
523 return true;
524 }
525
LocatorAbilityStub026FuzzTest(const char * data,size_t size)526 bool LocatorAbilityStub026FuzzTest(const char* data, size_t size)
527 {
528 MessageParcel requestParcel;
529 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
530 requestParcel.WriteBuffer(data, size);
531 requestParcel.RewindRead(0);
532
533 MessageParcel reply;
534 MessageOption option;
535
536 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
537 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::GET_CACHED_LOCATION_SIZE),
538 requestParcel, reply, option);
539
540 return true;
541 }
542
LocatorAbilityStub027FuzzTest(const char * data,size_t size)543 bool LocatorAbilityStub027FuzzTest(const char* data, size_t size)
544 {
545 MessageParcel requestParcel;
546 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
547 requestParcel.WriteInt32(1);
548 requestParcel.WriteInt32(1);
549 sptr<CachedLocationsCallbackNapi> cb = new (std::nothrow) CachedLocationsCallbackNapi();
550 requestParcel.WriteRemoteObject(cb->AsObject());
551 requestParcel.WriteBuffer(data, size);
552 requestParcel.RewindRead(0);
553
554 MessageParcel reply;
555 MessageOption option;
556
557 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
558 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REG_CACHED_CALLBACK),
559 requestParcel, reply, option);
560
561 return true;
562 }
563
LocatorAbilityStub028FuzzTest(const char * data,size_t size)564 bool LocatorAbilityStub028FuzzTest(const char* data, size_t size)
565 {
566 MessageParcel requestParcel;
567 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
568 sptr<GnssStatusCallbackHost> cb = new (std::nothrow) GnssStatusCallbackHost();
569 requestParcel.WriteRemoteObject(cb->AsObject());
570 requestParcel.WriteBuffer(data, size);
571 requestParcel.RewindRead(0);
572
573 MessageParcel reply;
574 MessageOption option;
575
576 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
577 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REG_GNSS_STATUS_CALLBACK),
578 requestParcel, reply, option);
579
580 return true;
581 }
582
LocatorAbilityStub029FuzzTest(const char * data,size_t size)583 bool LocatorAbilityStub029FuzzTest(const char* data, size_t size)
584 {
585 MessageParcel requestParcel;
586 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
587 sptr<NmeaMessageCallbackNapi> cb = new (std::nothrow) NmeaMessageCallbackNapi();
588 requestParcel.WriteRemoteObject(cb->AsObject());
589 requestParcel.WriteBuffer(data, size);
590 requestParcel.RewindRead(0);
591
592 MessageParcel reply;
593 MessageOption option;
594
595 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
596 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REG_NMEA_CALLBACK),
597 requestParcel, reply, option);
598
599 return true;
600 }
601
LocatorAbilityStub030FuzzTest(const char * data,size_t size)602 bool LocatorAbilityStub030FuzzTest(const char* data, size_t size)
603 {
604 MessageParcel requestParcel;
605 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
606 sptr<NmeaMessageCallbackNapi> cb = new (std::nothrow) NmeaMessageCallbackNapi();
607 requestParcel.WriteRemoteObject(cb->AsObject());
608 requestParcel.WriteBuffer(data, size);
609 requestParcel.RewindRead(0);
610
611 MessageParcel reply;
612 MessageOption option;
613
614 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
615 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REG_NMEA_CALLBACK_V9),
616 requestParcel, reply, option);
617
618 return true;
619 }
620
LocatorAbilityStub031FuzzTest(const char * data,size_t size)621 bool LocatorAbilityStub031FuzzTest(const char* data, size_t size)
622 {
623 MessageParcel requestParcel;
624 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
625 requestParcel.WriteBuffer(data, size);
626 requestParcel.RewindRead(0);
627
628 MessageParcel reply;
629 MessageOption option;
630
631 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
632 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REMOVE_FENCE),
633 requestParcel, reply, option);
634
635 return true;
636 }
637
LocatorAbilityStub032FuzzTest(const char * data,size_t size)638 bool LocatorAbilityStub032FuzzTest(const char* data, size_t size)
639 {
640 MessageParcel requestParcel;
641 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
642 requestParcel.WriteBuffer(data, size);
643 requestParcel.RewindRead(0);
644
645 MessageParcel reply;
646 MessageOption option;
647
648 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
649 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::SEND_COMMAND),
650 requestParcel, reply, option);
651
652 return true;
653 }
654
LocatorAbilityStub033FuzzTest(const char * data,size_t size)655 bool LocatorAbilityStub033FuzzTest(const char* data, size_t size)
656 {
657 MessageParcel requestParcel;
658 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
659 sptr<CachedLocationsCallbackNapi> cb = new (std::nothrow) CachedLocationsCallbackNapi();
660 requestParcel.WriteRemoteObject(cb->AsObject());
661 requestParcel.WriteBuffer(data, size);
662 requestParcel.RewindRead(0);
663
664 MessageParcel reply;
665 MessageOption option;
666
667 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
668 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::UNREG_CACHED_CALLBACK),
669 requestParcel, reply, option);
670
671 return true;
672 }
673
LocatorAbilityStub034FuzzTest(const char * data,size_t size)674 bool LocatorAbilityStub034FuzzTest(const char* data, size_t size)
675 {
676 MessageParcel requestParcel;
677 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
678 sptr<GnssStatusCallbackHost> cb = new (std::nothrow) GnssStatusCallbackHost();
679 requestParcel.WriteRemoteObject(cb->AsObject());
680 requestParcel.WriteBuffer(data, size);
681 requestParcel.RewindRead(0);
682
683 MessageParcel reply;
684 MessageOption option;
685
686 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
687 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::UNREG_GNSS_STATUS_CALLBACK),
688 requestParcel, reply, option);
689
690 return true;
691 }
692
LocatorAbilityStub035FuzzTest(const char * data,size_t size)693 bool LocatorAbilityStub035FuzzTest(const char* data, size_t size)
694 {
695 MessageParcel requestParcel;
696 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
697 sptr<NmeaMessageCallbackNapi> cb = new (std::nothrow) NmeaMessageCallbackNapi();
698 requestParcel.WriteRemoteObject(cb->AsObject());
699 requestParcel.WriteBuffer(data, size);
700 requestParcel.RewindRead(0);
701
702 MessageParcel reply;
703 MessageOption option;
704
705 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
706 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::UNREG_NMEA_CALLBACK),
707 requestParcel, reply, option);
708
709 return true;
710 }
711
LocatorAbilityStub036FuzzTest(const char * data,size_t size)712 bool LocatorAbilityStub036FuzzTest(const char* data, size_t size)
713 {
714 MessageParcel requestParcel;
715 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
716 sptr<NmeaMessageCallbackNapi> cb = new (std::nothrow) NmeaMessageCallbackNapi();
717 requestParcel.WriteRemoteObject(cb->AsObject());
718 requestParcel.WriteBuffer(data, size);
719 requestParcel.RewindRead(0);
720
721 MessageParcel reply;
722 MessageOption option;
723 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
724 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::UNREG_NMEA_CALLBACK_V9),
725 requestParcel, reply, option);
726
727 return true;
728 }
729
LocatorAbilityStub037FuzzTest(const char * data,size_t size)730 bool LocatorAbilityStub037FuzzTest(const char* data, size_t size)
731 {
732 MessageParcel requestParcel;
733 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
734 requestParcel.WriteBuffer(data, size);
735 requestParcel.RewindRead(0);
736
737 MessageParcel reply;
738 MessageOption option;
739 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
740 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::UNREG_SWITCH_CALLBACK),
741 requestParcel, reply, option);
742
743 return true;
744 }
745
LocatorAbilityStub038FuzzTest(const char * data,size_t size)746 bool LocatorAbilityStub038FuzzTest(const char* data, size_t size)
747 {
748 MessageParcel requestParcel;
749 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
750 sptr<LocationErrorCallbackNapi> cb = new (std::nothrow) LocationErrorCallbackNapi();
751 requestParcel.WriteRemoteObject(cb->AsObject());
752 requestParcel.WriteBuffer(data, size);
753 requestParcel.RewindRead(0);
754
755 MessageParcel reply;
756 MessageOption option;
757 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
758 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REG_LOCATION_ERROR),
759 requestParcel, reply, option);
760
761 return true;
762 }
763
LocatorAbilityStub039FuzzTest(const char * data,size_t size)764 bool LocatorAbilityStub039FuzzTest(const char* data, size_t size)
765 {
766 MessageParcel requestParcel;
767 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
768 sptr<LocationErrorCallbackNapi> cb = new (std::nothrow) LocationErrorCallbackNapi();
769 requestParcel.WriteRemoteObject(cb->AsObject());
770 requestParcel.WriteBuffer(data, size);
771 requestParcel.RewindRead(0);
772
773 MessageParcel reply;
774 MessageOption option;
775 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
776 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::UNREG_LOCATION_ERROR),
777 requestParcel, reply, option);
778
779 return true;
780 }
781
LocatorAbilityStub040FuzzTest(const char * data,size_t size)782 bool LocatorAbilityStub040FuzzTest(const char* data, size_t size)
783 {
784 MessageParcel requestParcel;
785 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
786 requestParcel.WriteBuffer(data, size);
787 requestParcel.RewindRead(0);
788
789 MessageParcel reply;
790 MessageOption option;
791 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
792 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REPORT_LOCATION_ERROR),
793 requestParcel, reply, option);
794
795 return true;
796 }
797
LocatorAbilityStub041FuzzTest(const char * data,size_t size)798 bool LocatorAbilityStub041FuzzTest(const char* data, size_t size)
799 {
800 MessageParcel requestParcel;
801 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
802 requestParcel.WriteBuffer(data, size);
803 requestParcel.RewindRead(0);
804
805 MessageParcel reply;
806 MessageOption option;
807 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
808 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::ADD_GNSS_GEOFENCE),
809 requestParcel, reply, option);
810
811 return true;
812 }
813
LocatorAbilityStub042FuzzTest(const char * data,size_t size)814 bool LocatorAbilityStub042FuzzTest(const char* data, size_t size)
815 {
816 MessageParcel requestParcel;
817 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
818 requestParcel.WriteBuffer(data, size);
819 requestParcel.RewindRead(0);
820
821 MessageParcel reply;
822 MessageOption option;
823 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
824 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REMOVE_GNSS_GEOFENCE),
825 requestParcel, reply, option);
826
827 return true;
828 }
829
LocatorAbilityStub043FuzzTest(const char * data,size_t size)830 bool LocatorAbilityStub043FuzzTest(const char* data, size_t size)
831 {
832 MessageParcel requestParcel;
833 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
834 requestParcel.WriteBuffer(data, size);
835 requestParcel.RewindRead(0);
836
837 MessageParcel reply;
838 MessageOption option;
839 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
840 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::GET_GEOFENCE_SUPPORT_COORDINATE_SYSTEM_TYPE),
841 requestParcel, reply, option);
842
843 return true;
844 }
845
LocatorAbilityStub044FuzzTest(const char * data,size_t size)846 bool LocatorAbilityStub044FuzzTest(const char* data, size_t size)
847 {
848 MessageParcel requestParcel;
849 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
850 LocatingRequiredDataConfig dataConfig;
851 requestParcel.WriteParcelable(&dataConfig);
852 sptr<LocatingRequiredDataCallbackNapi> cb = new (std::nothrow) LocatingRequiredDataCallbackNapi();
853 requestParcel.WriteRemoteObject(cb->AsObject());
854 requestParcel.WriteBuffer(data, size);
855 requestParcel.RewindRead(0);
856
857 MessageParcel reply;
858 MessageOption option;
859 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
860 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REG_LOCATING_REQUIRED_DATA_CALLBACK),
861 requestParcel, reply, option);
862
863 return true;
864 }
865
LocatorAbilityStub045FuzzTest(const char * data,size_t size)866 bool LocatorAbilityStub045FuzzTest(const char* data, size_t size)
867 {
868 MessageParcel requestParcel;
869 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
870 sptr<LocatingRequiredDataCallbackNapi> cb = new (std::nothrow) LocatingRequiredDataCallbackNapi();
871 requestParcel.WriteRemoteObject(cb->AsObject());
872 requestParcel.WriteBuffer(data, size);
873 requestParcel.RewindRead(0);
874
875 MessageParcel reply;
876 MessageOption option;
877 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
878 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::UNREG_LOCATING_REQUIRED_DATA_CALLBACK),
879 requestParcel, reply, option);
880 auto locatorAbility = LocatorAbility::GetInstance();
881 if (locatorAbility != nullptr) {
882 locatorAbility->RemoveUnloadTask(DEFAULT_CODE);
883 }
884 return true;
885 }
886
LocatorAbilityStub046FuzzTest(const char * data,size_t size)887 bool LocatorAbilityStub046FuzzTest(const char* data, size_t size)
888 {
889 MessageParcel requestParcel;
890 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
891 requestParcel.WriteBuffer(data, size);
892 requestParcel.RewindRead(0);
893
894 MessageParcel reply;
895 MessageOption option;
896 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
897 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::ENABLE_ABILITY_BY_USERID),
898 requestParcel, reply, option);
899 return true;
900 }
901
LocatorAbilityStub047FuzzTest(const char * data,size_t size)902 bool LocatorAbilityStub047FuzzTest(const char* data, size_t size)
903 {
904 MessageParcel requestParcel;
905 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
906 requestParcel.WriteBuffer(data, size);
907 requestParcel.RewindRead(0);
908
909 MessageParcel reply;
910 MessageOption option;
911 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
912 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::GET_CURRENT_WIFI_BSSID_FOR_LOCATING),
913 requestParcel, reply, option);
914 return true;
915 }
916
LocatorAbilityStub048FuzzTest(const char * data,size_t size)917 bool LocatorAbilityStub048FuzzTest(const char* data, size_t size)
918 {
919 MessageParcel requestParcel;
920 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
921 requestParcel.WriteBuffer(data, size);
922 requestParcel.RewindRead(0);
923
924 MessageParcel reply;
925 MessageOption option;
926 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
927 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::SET_LOCATION_SETTINGS_IGNORED),
928 requestParcel, reply, option);
929 return true;
930 }
931
LocatorAbilityStub049FuzzTest(const char * data,size_t size)932 bool LocatorAbilityStub049FuzzTest(const char* data, size_t size)
933 {
934 MessageParcel requestParcel;
935 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
936 sptr<BluetoothScanResultCallbackNapi> cb = new (std::nothrow) BluetoothScanResultCallbackNapi();
937 requestParcel.WriteRemoteObject(cb->AsObject());
938 requestParcel.WriteBuffer(data, size);
939 requestParcel.RewindRead(0);
940
941 MessageParcel reply;
942 MessageOption option;
943 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
944 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::START_SCAN_BLUETOOTH_DEVICE),
945 requestParcel, reply, option);
946
947 return true;
948 }
949
LocatorAbilityStub050FuzzTest(const char * data,size_t size)950 bool LocatorAbilityStub050FuzzTest(const char* data, size_t size)
951 {
952 MessageParcel requestParcel;
953 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
954 sptr<BluetoothScanResultCallbackNapi> cb = new (std::nothrow) BluetoothScanResultCallbackNapi();
955 requestParcel.WriteRemoteObject(cb->AsObject());
956 requestParcel.WriteBuffer(data, size);
957 requestParcel.RewindRead(0);
958
959 MessageParcel reply;
960 MessageOption option;
961 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
962 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::STOP_SCAN_BLUETOOTH_DEVICE),
963 requestParcel, reply, option);
964
965 return true;
966 }
967
LocatorAbilityStub051FuzzTest(const char * data,size_t size)968 bool LocatorAbilityStub051FuzzTest(const char* data, size_t size)
969 {
970 MessageParcel requestParcel;
971 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
972 requestParcel.WriteBuffer(data, size);
973 requestParcel.RewindRead(0);
974
975 MessageParcel reply;
976 MessageOption option;
977 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
978 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::ADD_BEACON_FENCE),
979 requestParcel, reply, option);
980
981 return true;
982 }
983
LocatorAbilityStub052FuzzTest(const char * data,size_t size)984 bool LocatorAbilityStub052FuzzTest(const char* data, size_t size)
985 {
986 MessageParcel requestParcel;
987 requestParcel.WriteInterfaceToken(u"OHOS.Location.ILocatorService");
988 requestParcel.WriteBuffer(data, size);
989 requestParcel.RewindRead(0);
990
991 MessageParcel reply;
992 MessageOption option;
993 auto ability = sptr<LocatorAbility>(new (std::nothrow) LocatorAbility());
994 ability->OnRemoteRequest(static_cast<int>(LocatorInterfaceCode::REMOVE_BEACON_FENCE),
995 requestParcel, reply, option);
996
997 return true;
998 }
999 } // namespace OHOS
1000
GeoCodeFuzzTest(const char * ch,size_t size)1001 void GeoCodeFuzzTest(const char* ch, size_t size)
1002 {
1003 OHOS::LocatorAbilityStub018FuzzTest(ch, size);
1004 OHOS::LocatorAbilityStub019FuzzTest(ch, size);
1005 OHOS::LocatorAbilityStub020FuzzTest(ch, size);
1006 OHOS::LocatorAbilityStub021FuzzTest(ch, size);
1007 OHOS::LocatorAbilityStub022FuzzTest(ch, size);
1008 OHOS::LocatorAbilityStub023FuzzTest(ch, size);
1009 }
1010
SwitchFuzzTest(const char * ch,size_t size)1011 void SwitchFuzzTest(const char* ch, size_t size)
1012 {
1013 OHOS::LocatorAbilityStub002FuzzTest(ch, size);
1014 OHOS::LocatorAbilityStub006FuzzTest(ch, size);
1015 OHOS::LocatorAbilityStub046FuzzTest(ch, size);
1016 OHOS::LocatorAbilityStub048FuzzTest(ch, size);
1017 }
1018
ScanFuzzTest(const char * ch,size_t size)1019 void ScanFuzzTest(const char* ch, size_t size)
1020 {
1021 OHOS::LocatorAbilityStub044FuzzTest(ch, size);
1022 OHOS::LocatorAbilityStub045FuzzTest(ch, size);
1023 OHOS::LocatorAbilityStub049FuzzTest(ch, size);
1024 OHOS::LocatorAbilityStub050FuzzTest(ch, size);
1025 OHOS::LocatorAbilityStub051FuzzTest(ch, size);
1026 OHOS::LocatorAbilityStub052FuzzTest(ch, size);
1027 }
1028
1029 /* Fuzzer entry point */
LLVMFuzzerTestOneInput(const uint8_t * data,size_t size)1030 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
1031 {
1032 char* ch = OHOS::ParseData(data, size);
1033 if (ch != nullptr) {
1034 OHOS::MockNativePermission();
1035 GeoCodeFuzzTest(ch, size);
1036 SwitchFuzzTest(ch, size);
1037 ScanFuzzTest(ch, size);
1038 OHOS::LocatorAbilityStub001FuzzTest(ch, size);
1039 OHOS::LocatorAbilityStub003FuzzTest(ch, size);
1040 OHOS::LocatorAbilityStub004FuzzTest(ch, size);
1041 OHOS::LocatorAbilityStub005FuzzTest(ch, size);
1042 OHOS::LocatorAbilityStub007FuzzTest(ch, size);
1043 OHOS::LocatorAbilityStub008FuzzTest(ch, size);
1044 OHOS::LocatorAbilityStub009FuzzTest(ch, size);
1045 OHOS::LocatorAbilityStub010FuzzTest(ch, size);
1046 OHOS::LocatorAbilityStub011FuzzTest(ch, size);
1047 OHOS::LocatorAbilityStub012FuzzTest(ch, size);
1048 OHOS::LocatorAbilityStub013FuzzTest(ch, size);
1049 OHOS::LocatorAbilityStub014FuzzTest(ch, size);
1050 OHOS::LocatorAbilityStub015FuzzTest(ch, size);
1051 OHOS::LocatorAbilityStub016FuzzTest(ch, size);
1052 OHOS::LocatorAbilityStub017FuzzTest(ch, size);
1053 OHOS::LocatorAbilityStub024FuzzTest(ch, size);
1054 OHOS::LocatorAbilityStub025FuzzTest(ch, size);
1055 OHOS::LocatorAbilityStub026FuzzTest(ch, size);
1056 OHOS::LocatorAbilityStub027FuzzTest(ch, size);
1057 OHOS::LocatorAbilityStub028FuzzTest(ch, size);
1058 OHOS::LocatorAbilityStub029FuzzTest(ch, size);
1059 OHOS::LocatorAbilityStub030FuzzTest(ch, size);
1060 OHOS::LocatorAbilityStub031FuzzTest(ch, size);
1061 OHOS::LocatorAbilityStub032FuzzTest(ch, size);
1062 OHOS::LocatorAbilityStub033FuzzTest(ch, size);
1063 OHOS::LocatorAbilityStub034FuzzTest(ch, size);
1064 OHOS::LocatorAbilityStub035FuzzTest(ch, size);
1065 OHOS::LocatorAbilityStub036FuzzTest(ch, size);
1066 OHOS::LocatorAbilityStub037FuzzTest(ch, size);
1067 OHOS::LocatorAbilityStub038FuzzTest(ch, size);
1068 OHOS::LocatorAbilityStub039FuzzTest(ch, size);
1069 OHOS::LocatorAbilityStub040FuzzTest(ch, size);
1070 OHOS::LocatorAbilityStub041FuzzTest(ch, size);
1071 OHOS::LocatorAbilityStub042FuzzTest(ch, size);
1072 OHOS::LocatorAbilityStub043FuzzTest(ch, size);
1073 OHOS::LocatorAbilityStub047FuzzTest(ch, size);
1074 sleep(OHOS::WAIT_EVENT_TIME);
1075 free(ch);
1076 ch = nullptr;
1077 }
1078 return 0;
1079 }
1080
1081