• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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