1 /*
2 * Copyright (c) 2024 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 "rspropertymodifier_fuzzer.h"
17
18 #include <cstddef>
19 #include <cstdint>
20 #include <securec.h>
21
22 #include "animation/rs_animation.h"
23 #include "transaction/rs_interfaces.h"
24 #include "ui/rs_canvas_node.h"
25 #include "ui/rs_ui_director.h"
26 #include "modifier/rs_property.h"
27 #include "modifier/rs_property_modifier.h"
28
29 namespace OHOS {
30 namespace Rosen {
31 namespace {
32 const uint8_t* g_data = nullptr;
33 size_t g_size = 0;
34 size_t g_pos;
35 } // namespace
36
37 /*
38 * describe: get data from outside untrusted data(g_data) which size is according to sizeof(T)
39 * tips: only support basic type
40 */
41 template<class T>
GetData()42 T GetData()
43 {
44 T object {};
45 size_t objectSize = sizeof(object);
46 if (g_data == nullptr || objectSize > g_size - g_pos) {
47 return object;
48 }
49 errno_t ret = memcpy_s(&object, objectSize, g_data + g_pos, objectSize);
50 if (ret != EOK) {
51 return {};
52 }
53 g_pos += objectSize;
54 return object;
55 }
56
DoModifier001(const uint8_t * data,size_t size)57 bool DoModifier001(const uint8_t* data, size_t size)
58 {
59 if (data == nullptr) {
60 return false;
61 }
62
63 // initialize
64 g_data = data;
65 g_size = size;
66 g_pos = 0;
67
68 // test
69 float value = GetData<float>();
70 auto property = std::make_shared<RSAnimatableProperty<float>>(value);
71 auto boundsmodifier = std::make_shared<RSBoundsModifier>(property);
72 boundsmodifier->GetModifierType();
73 boundsmodifier->CreateRenderModifier();
74 auto boundsSizemodifier = std::make_shared<RSBoundsSizeModifier>(property);
75 boundsSizemodifier->GetModifierType();
76 boundsSizemodifier->CreateRenderModifier();
77 auto boundsPositionmodifier = std::make_shared<RSBoundsPositionModifier>(property);
78 boundsPositionmodifier->GetModifierType();
79 boundsPositionmodifier->CreateRenderModifier();
80 auto framemodifier = std::make_shared<RSFrameModifier>(property);
81 framemodifier->GetModifierType();
82 framemodifier->CreateRenderModifier();
83 auto positionZmodifier = std::make_shared<RSPositionZModifier>(property);
84 positionZmodifier->GetModifierType();
85 positionZmodifier->CreateRenderModifier();
86 auto sandBoxmodifier = std::make_shared<RSSandBoxModifier>(property);
87 sandBoxmodifier->GetModifierType();
88 sandBoxmodifier->CreateRenderModifier();
89 auto pivotmodifier = std::make_shared<RSPivotModifier>(property);
90 pivotmodifier->GetModifierType();
91 pivotmodifier->CreateRenderModifier();
92 auto pivotZmodifier = std::make_shared<RSPivotZModifier>(property);
93 pivotZmodifier->GetModifierType();
94 pivotZmodifier->CreateRenderModifier();
95 auto quaternionmodifier = std::make_shared<RSQuaternionModifier>(property);
96 quaternionmodifier->GetModifierType();
97 quaternionmodifier->CreateRenderModifier();
98 auto rotationmodifier = std::make_shared<RSRotationModifier>(property);
99 rotationmodifier->GetModifierType();
100 rotationmodifier->CreateRenderModifier();
101 auto rotationXmodifier = std::make_shared<RSRotationXModifier>(property);
102 rotationXmodifier->GetModifierType();
103 rotationXmodifier->CreateRenderModifier();
104 return true;
105 }
106
DoModifier002(const uint8_t * data,size_t size)107 bool DoModifier002(const uint8_t* data, size_t size)
108 {
109 if (data == nullptr) {
110 return false;
111 }
112
113 // initialize
114 g_data = data;
115 g_size = size;
116 g_pos = 0;
117
118 // test
119 float value = GetData<float>();
120 auto property = std::make_shared<RSAnimatableProperty<float>>(value);
121 auto rotationYmodifier = std::make_shared<RSRotationYModifier>(property);
122 rotationYmodifier->GetModifierType();
123 rotationYmodifier->CreateRenderModifier();
124 auto cameraDistancemodifier = std::make_shared<RSCameraDistanceModifier>(property);
125 cameraDistancemodifier->GetModifierType();
126 cameraDistancemodifier->CreateRenderModifier();
127 auto scalemodifier = std::make_shared<RSScaleModifier>(property);
128 scalemodifier->GetModifierType();
129 scalemodifier->CreateRenderModifier();
130 auto skewmodifier = std::make_shared<RSSkewModifier>(property);
131 skewmodifier->GetModifierType();
132 skewmodifier->CreateRenderModifier();
133 auto perspmodifier = std::make_shared<RSPerspModifier>(property);
134 perspmodifier->GetModifierType();
135 perspmodifier->CreateRenderModifier();
136 auto translatemodifier = std::make_shared<RSTranslateModifier>(property);
137 translatemodifier->GetModifierType();
138 translatemodifier->CreateRenderModifier();
139 auto translateZmodifier = std::make_shared<RSTranslateZModifier>(property);
140 translateZmodifier->GetModifierType();
141 translateZmodifier->CreateRenderModifier();
142 auto cornerRadiusmodifier = std::make_shared<RSCornerRadiusModifier>(property);
143 cornerRadiusmodifier->GetModifierType();
144 cornerRadiusmodifier->CreateRenderModifier();
145 auto alphamodifier = std::make_shared<RSAlphaModifier>(property);
146 alphamodifier->GetModifierType();
147 alphamodifier->CreateRenderModifier();
148 auto alphaOffscreenmodifier = std::make_shared<RSAlphaOffscreenModifier>(property);
149 alphaOffscreenmodifier->GetModifierType();
150 alphaOffscreenmodifier->CreateRenderModifier();
151 auto envForegroundColormodifier = std::make_shared<RSEnvForegroundColorModifier>(property);
152 envForegroundColormodifier->GetModifierType();
153 envForegroundColormodifier->CreateRenderModifier();
154 return true;
155 }
156
DoModifier003(const uint8_t * data,size_t size)157 bool DoModifier003(const uint8_t* data, size_t size)
158 {
159 if (data == nullptr) {
160 return false;
161 }
162
163 // initialize
164 g_data = data;
165 g_size = size;
166 g_pos = 0;
167
168 // test
169 float value = GetData<float>();
170 auto property = std::make_shared<RSAnimatableProperty<float>>(value);
171 auto envForegroundColorStrategymodifier = std::make_shared<RSEnvForegroundColorStrategyModifier>(property);
172 envForegroundColorStrategymodifier->GetModifierType();
173 envForegroundColorStrategymodifier->CreateRenderModifier();
174 auto foregroundColormodifier = std::make_shared<RSForegroundColorModifier>(property);
175 foregroundColormodifier->GetModifierType();
176 foregroundColormodifier->CreateRenderModifier();
177 auto useShadowBatchingmodifier = std::make_shared<RSUseShadowBatchingModifier>(property);
178 useShadowBatchingmodifier->GetModifierType();
179 useShadowBatchingmodifier->CreateRenderModifier();
180 auto backgroundColormodifier = std::make_shared<RSBackgroundColorModifier>(property);
181 backgroundColormodifier->GetModifierType();
182 backgroundColormodifier->CreateRenderModifier();
183 auto backgroundShadermodifier = std::make_shared<RSBackgroundShaderModifier>(property);
184 backgroundShadermodifier->GetModifierType();
185 backgroundShadermodifier->CreateRenderModifier();
186 auto bgImagemodifier = std::make_shared<RSBgImageModifier>(property);
187 bgImagemodifier->GetModifierType();
188 bgImagemodifier->CreateRenderModifier();
189 auto bgImageInnerRectmodifier = std::make_shared<RSBgImageInnerRectModifier>(property);
190 bgImageInnerRectmodifier->GetModifierType();
191 bgImageInnerRectmodifier->CreateRenderModifier();
192 auto bgImageWidthmodifier = std::make_shared<RSBgImageWidthModifier>(property);
193 bgImageWidthmodifier->GetModifierType();
194 bgImageWidthmodifier->CreateRenderModifier();
195 auto bgImageHeightmodifier = std::make_shared<RSBgImageHeightModifier>(property);
196 bgImageHeightmodifier->GetModifierType();
197 bgImageHeightmodifier->CreateRenderModifier();
198 auto bgImagePositionXmodifier = std::make_shared<RSBgImagePositionXModifier>(property);
199 bgImagePositionXmodifier->GetModifierType();
200 bgImagePositionXmodifier->CreateRenderModifier();
201 auto bgImagePositionYmodifier = std::make_shared<RSBgImagePositionYModifier>(property);
202 bgImagePositionYmodifier->GetModifierType();
203 bgImagePositionYmodifier->CreateRenderModifier();
204 return true;
205 }
206
DoModifier004(const uint8_t * data,size_t size)207 bool DoModifier004(const uint8_t* data, size_t size)
208 {
209 if (data == nullptr) {
210 return false;
211 }
212
213 // initialize
214 g_data = data;
215 g_size = size;
216 g_pos = 0;
217
218 // test
219 float value = GetData<float>();
220 auto property = std::make_shared<RSAnimatableProperty<float>>(value);
221 auto borderColormodifier = std::make_shared<RSBorderColorModifier>(property);
222 borderColormodifier->GetModifierType();
223 borderColormodifier->CreateRenderModifier();
224 auto borderWidthmodifier = std::make_shared<RSBorderWidthModifier>(property);
225 borderWidthmodifier->GetModifierType();
226 borderWidthmodifier->CreateRenderModifier();
227 auto borderStylemodifier = std::make_shared<RSBorderStyleModifier>(property);
228 borderStylemodifier->GetModifierType();
229 borderStylemodifier->CreateRenderModifier();
230 auto outlineColormodifier = std::make_shared<RSOutlineColorModifier>(property);
231 outlineColormodifier->GetModifierType();
232 outlineColormodifier->CreateRenderModifier();
233 auto outlineWidthmodifier = std::make_shared<RSOutlineWidthModifier>(property);
234 outlineWidthmodifier->GetModifierType();
235 outlineWidthmodifier->CreateRenderModifier();
236 auto outlineStylemodifier = std::make_shared<RSOutlineStyleModifier>(property);
237 outlineStylemodifier->GetModifierType();
238 outlineStylemodifier->CreateRenderModifier();
239 auto outlineRadiusmodifier = std::make_shared<RSOutlineRadiusModifier>(property);
240 outlineRadiusmodifier->GetModifierType();
241 outlineRadiusmodifier->CreateRenderModifier();
242 auto foregroundEffectRadiusmodifier = std::make_shared<RSForegroundEffectRadiusModifier>(property);
243 foregroundEffectRadiusmodifier->GetModifierType();
244 foregroundEffectRadiusmodifier->CreateRenderModifier();
245 auto filtermodifier = std::make_shared<RSFilterModifier>(property);
246 filtermodifier->GetModifierType();
247 filtermodifier->CreateRenderModifier();
248 auto backgroundBlurRadiusmodifier = std::make_shared<RSBackgroundBlurRadiusModifier>(property);
249 backgroundBlurRadiusmodifier->GetModifierType();
250 backgroundBlurRadiusmodifier->CreateRenderModifier();
251 auto backgroundBlurSaturationmodifier = std::make_shared<RSBackgroundBlurSaturationModifier>(property);
252 backgroundBlurSaturationmodifier->GetModifierType();
253 backgroundBlurSaturationmodifier->CreateRenderModifier();
254 return true;
255 }
256
DoModifier005(const uint8_t * data,size_t size)257 bool DoModifier005(const uint8_t* data, size_t size)
258 {
259 if (data == nullptr) {
260 return false;
261 }
262
263 // initialize
264 g_data = data;
265 g_size = size;
266 g_pos = 0;
267
268 // test
269 float value = GetData<float>();
270 auto property = std::make_shared<RSAnimatableProperty<float>>(value);
271 auto backgroundBlurBrightnessmodifier = std::make_shared<RSBackgroundBlurBrightnessModifier>(property);
272 backgroundBlurBrightnessmodifier->GetModifierType();
273 backgroundBlurBrightnessmodifier->CreateRenderModifier();
274 auto backgroundBlurMaskColormodifier = std::make_shared<RSBackgroundBlurMaskColorModifier>(property);
275 backgroundBlurMaskColormodifier->GetModifierType();
276 backgroundBlurMaskColormodifier->CreateRenderModifier();
277 auto backgroundBlurColorModemodifier = std::make_shared<RSBackgroundBlurColorModeModifier>(property);
278 backgroundBlurColorModemodifier->GetModifierType();
279 backgroundBlurColorModemodifier->CreateRenderModifier();
280 auto backgroundBlurRadiusXmodifier = std::make_shared<RSBackgroundBlurRadiusXModifier>(property);
281 backgroundBlurRadiusXmodifier->GetModifierType();
282 backgroundBlurRadiusXmodifier->CreateRenderModifier();
283 auto backgroundBlurRadiusYmodifier = std::make_shared<RSBackgroundBlurRadiusYModifier>(property);
284 backgroundBlurRadiusYmodifier->GetModifierType();
285 backgroundBlurRadiusYmodifier->CreateRenderModifier();
286 auto foregroundBlurRadiusmodifier = std::make_shared<RSForegroundBlurRadiusModifier>(property);
287 foregroundBlurRadiusmodifier->GetModifierType();
288 foregroundBlurRadiusmodifier->CreateRenderModifier();
289 auto foregroundBlurSaturationmodifier = std::make_shared<RSForegroundBlurSaturationModifier>(property);
290 foregroundBlurSaturationmodifier->GetModifierType();
291 foregroundBlurSaturationmodifier->CreateRenderModifier();
292 auto foregroundBlurBrightnessmodifier = std::make_shared<RSForegroundBlurBrightnessModifier>(property);
293 foregroundBlurBrightnessmodifier->GetModifierType();
294 foregroundBlurBrightnessmodifier->CreateRenderModifier();
295 auto foregroundBlurMaskColormodifier = std::make_shared<RSForegroundBlurMaskColorModifier>(property);
296 foregroundBlurMaskColormodifier->GetModifierType();
297 foregroundBlurMaskColormodifier->CreateRenderModifier();
298 auto foregroundBlurColorModemodifier = std::make_shared<RSForegroundBlurColorModeModifier>(property);
299 foregroundBlurColorModemodifier->GetModifierType();
300 foregroundBlurColorModemodifier->CreateRenderModifier();
301 auto foregroundBlurRadiusXmodifier = std::make_shared<RSForegroundBlurRadiusXModifier>(property);
302 foregroundBlurRadiusXmodifier->GetModifierType();
303 foregroundBlurRadiusXmodifier->CreateRenderModifier();
304 return true;
305 }
306
DoModifier006(const uint8_t * data,size_t size)307 bool DoModifier006(const uint8_t* data, size_t size)
308 {
309 if (data == nullptr) {
310 return false;
311 }
312
313 // initialize
314 g_data = data;
315 g_size = size;
316 g_pos = 0;
317
318 // test
319 float value = GetData<float>();
320 auto property = std::make_shared<RSAnimatableProperty<float>>(value);
321 auto foregroundBlurRadiusYmodifier = std::make_shared<RSForegroundBlurRadiusYModifier>(property);
322 foregroundBlurRadiusYmodifier->GetModifierType();
323 foregroundBlurRadiusYmodifier->CreateRenderModifier();
324 auto lightUpEffectmodifier = std::make_shared<RSLightUpEffectModifier>(property);
325 lightUpEffectmodifier->GetModifierType();
326 lightUpEffectmodifier->CreateRenderModifier();
327 auto dynamicLightUpRatemodifier = std::make_shared<RSDynamicLightUpRateModifier>(property);
328 dynamicLightUpRatemodifier->GetModifierType();
329 dynamicLightUpRatemodifier->CreateRenderModifier();
330 auto dynamicLightUpDegreemodifier = std::make_shared<RSDynamicLightUpDegreeModifier>(property);
331 dynamicLightUpDegreemodifier->GetModifierType();
332 dynamicLightUpDegreemodifier->CreateRenderModifier();
333 auto fgBrightnessParamsmodifier = std::make_shared<RSFgBrightnessRatesModifier>(property);
334 fgBrightnessParamsmodifier->GetModifierType();
335 fgBrightnessParamsmodifier->CreateRenderModifier();
336 auto fgBrightnessFractmodifier = std::make_shared<RSFgBrightnessFractModifier>(property);
337 fgBrightnessFractmodifier->GetModifierType();
338 fgBrightnessFractmodifier->CreateRenderModifier();
339 auto bgBrightnessParamsmodifier = std::make_shared<RSBgBrightnessRatesModifier>(property);
340 bgBrightnessParamsmodifier->GetModifierType();
341 bgBrightnessParamsmodifier->CreateRenderModifier();
342 auto bgBrightnessFractmodifier = std::make_shared<RSBgBrightnessFractModifier>(property);
343 bgBrightnessFractmodifier->GetModifierType();
344 bgBrightnessFractmodifier->CreateRenderModifier();
345 auto emitterUpdatermodifier = std::make_shared<RSEmitterUpdaterModifier>(property);
346 emitterUpdatermodifier->GetModifierType();
347 emitterUpdatermodifier->CreateRenderModifier();
348 auto particleNoiseFieldsmodifier = std::make_shared<RSParticleNoiseFieldsModifier>(property);
349 particleNoiseFieldsmodifier->GetModifierType();
350 particleNoiseFieldsmodifier->CreateRenderModifier();
351 auto dynamicDimDegreemodifier = std::make_shared<RSDynamicDimDegreeModifier>(property);
352 dynamicDimDegreemodifier->GetModifierType();
353 dynamicDimDegreemodifier->CreateRenderModifier();
354 return true;
355 }
356
DoModifier007(const uint8_t * data,size_t size)357 bool DoModifier007(const uint8_t* data, size_t size)
358 {
359 if (data == nullptr) {
360 return false;
361 }
362
363 // initialize
364 g_data = data;
365 g_size = size;
366 g_pos = 0;
367
368 // test
369 float value = GetData<float>();
370 auto property = std::make_shared<RSAnimatableProperty<float>>(value);
371 auto linearGradientBlurParamodifier = std::make_shared<RSLinearGradientBlurParaModifier>(property);
372 linearGradientBlurParamodifier->GetModifierType();
373 linearGradientBlurParamodifier->CreateRenderModifier();
374 auto motionBlurParamodifier = std::make_shared<RSMotionBlurParaModifier>(property);
375 motionBlurParamodifier->GetModifierType();
376 motionBlurParamodifier->CreateRenderModifier();
377 auto backgroundFiltermodifier = std::make_shared<RSBackgroundFilterModifier>(property);
378 backgroundFiltermodifier->GetModifierType();
379 backgroundFiltermodifier->CreateRenderModifier();
380 auto frameGravitymodifier = std::make_shared<RSFrameGravityModifier>(property);
381 frameGravitymodifier->GetModifierType();
382 frameGravitymodifier->CreateRenderModifier();
383 auto clipRRectmodifier = std::make_shared<RSClipRRectModifier>(property);
384 clipRRectmodifier->GetModifierType();
385 clipRRectmodifier->CreateRenderModifier();
386 auto clipBoundsmodifier = std::make_shared<RSClipBoundsModifier>(property);
387 clipBoundsmodifier->GetModifierType();
388 clipBoundsmodifier->CreateRenderModifier();
389 auto clipToBoundsmodifier = std::make_shared<RSClipToBoundsModifier>(property);
390 clipToBoundsmodifier->GetModifierType();
391 clipToBoundsmodifier->CreateRenderModifier();
392 auto clipToFramemodifier = std::make_shared<RSClipToFrameModifier>(property);
393 clipToFramemodifier->GetModifierType();
394 clipToFramemodifier->CreateRenderModifier();
395 auto visiblemodifier = std::make_shared<RSVisibleModifier>(property);
396 visiblemodifier->GetModifierType();
397 visiblemodifier->CreateRenderModifier();
398 auto spherizemodifier = std::make_shared<RSSpherizeModifier>(property);
399 spherizemodifier->GetModifierType();
400 spherizemodifier->CreateRenderModifier();
401 auto shadowColormodifier = std::make_shared<RSShadowColorModifier>(property);
402 shadowColormodifier->GetModifierType();
403 shadowColormodifier->CreateRenderModifier();
404 return true;
405 }
406
DoModifier008(const uint8_t * data,size_t size)407 bool DoModifier008(const uint8_t* data, size_t size)
408 {
409 if (data == nullptr) {
410 return false;
411 }
412
413 // initialize
414 g_data = data;
415 g_size = size;
416 g_pos = 0;
417
418 // test
419 float value = GetData<float>();
420 auto property = std::make_shared<RSAnimatableProperty<float>>(value);
421 auto shadowOffsetXmodifier = std::make_shared<RSShadowOffsetXModifier>(property);
422 shadowOffsetXmodifier->GetModifierType();
423 shadowOffsetXmodifier->CreateRenderModifier();
424 auto shadowOffsetYmodifier = std::make_shared<RSShadowOffsetYModifier>(property);
425 shadowOffsetYmodifier->GetModifierType();
426 shadowOffsetYmodifier->CreateRenderModifier();
427 auto shadowAlphamodifier = std::make_shared<RSShadowAlphaModifier>(property);
428 shadowAlphamodifier->GetModifierType();
429 shadowAlphamodifier->CreateRenderModifier();
430 auto shadowElevationmodifier = std::make_shared<RSShadowElevationModifier>(property);
431 shadowElevationmodifier->GetModifierType();
432 shadowElevationmodifier->CreateRenderModifier();
433 auto shadowRadiusmodifier = std::make_shared<RSShadowRadiusModifier>(property);
434 shadowRadiusmodifier->GetModifierType();
435 shadowRadiusmodifier->CreateRenderModifier();
436 auto shadowPathmodifier = std::make_shared<RSShadowPathModifier>(property);
437 shadowPathmodifier->GetModifierType();
438 shadowPathmodifier->CreateRenderModifier();
439 auto shadowMaskmodifier = std::make_shared<RSShadowMaskModifier>(property);
440 shadowMaskmodifier->GetModifierType();
441 shadowMaskmodifier->CreateRenderModifier();
442 auto shadowIsFilledmodifier = std::make_shared<RSShadowIsFilledModifier>(property);
443 shadowIsFilledmodifier->GetModifierType();
444 shadowIsFilledmodifier->CreateRenderModifier();
445 auto greyCoefmodifier = std::make_shared<RSGreyCoefModifier>(property);
446 greyCoefmodifier->GetModifierType();
447 greyCoefmodifier->CreateRenderModifier();
448 auto maskmodifier = std::make_shared<RSMaskModifier>(property);
449 maskmodifier->GetModifierType();
450 maskmodifier->CreateRenderModifier();
451 auto pixelStretchmodifier = std::make_shared<RSPixelStretchModifier>(property);
452 pixelStretchmodifier->GetModifierType();
453 pixelStretchmodifier->CreateRenderModifier();
454 return true;
455 }
456
DoModifier009(const uint8_t * data,size_t size)457 bool DoModifier009(const uint8_t* data, size_t size)
458 {
459 if (data == nullptr) {
460 return false;
461 }
462
463 // initialize
464 g_data = data;
465 g_size = size;
466 g_pos = 0;
467
468 // test
469 float value = GetData<float>();
470 auto property = std::make_shared<RSAnimatableProperty<float>>(value);
471 auto pixelStretchPercentmodifier = std::make_shared<RSPixelStretchPercentModifier>(property);
472 pixelStretchPercentmodifier->GetModifierType();
473 pixelStretchPercentmodifier->CreateRenderModifier();
474 auto pixelStretchTileModemodifier = std::make_shared<RSPixelStretchTileModeModifier>(property);
475 pixelStretchTileModemodifier->GetModifierType();
476 pixelStretchTileModemodifier->CreateRenderModifier();
477 auto grayScalemodifier = std::make_shared<RSGrayScaleModifier>(property);
478 grayScalemodifier->GetModifierType();
479 grayScalemodifier->CreateRenderModifier();
480 auto lightIntensitymodifier = std::make_shared<RSLightIntensityModifier>(property);
481 lightIntensitymodifier->GetModifierType();
482 lightIntensitymodifier->CreateRenderModifier();
483 auto lightColormodifier = std::make_shared<RSLightColorModifier>(property);
484 lightColormodifier->GetModifierType();
485 lightColormodifier->CreateRenderModifier();
486 auto illuminatedTypemodifier = std::make_shared<RSIlluminatedTypeModifier>(property);
487 illuminatedTypemodifier->GetModifierType();
488 illuminatedTypemodifier->CreateRenderModifier();
489 auto lightPositionmodifier = std::make_shared<RSLightPositionModifier>(property);
490 lightPositionmodifier->GetModifierType();
491 lightPositionmodifier->CreateRenderModifier();
492 auto illuminatedBorderWidthmodifier = std::make_shared<RSIlluminatedBorderWidthModifier>(property);
493 illuminatedBorderWidthmodifier->GetModifierType();
494 illuminatedBorderWidthmodifier->CreateRenderModifier();
495 auto bloommodifier = std::make_shared<RSBloomModifier>(property);
496 bloommodifier->GetModifierType();
497 bloommodifier->CreateRenderModifier();
498 auto brightnessmodifier = std::make_shared<RSBrightnessModifier>(property);
499 brightnessmodifier->GetModifierType();
500 brightnessmodifier->CreateRenderModifier();
501 auto contrastmodifier = std::make_shared<RSContrastModifier>(property);
502 contrastmodifier->GetModifierType();
503 contrastmodifier->CreateRenderModifier();
504 return true;
505 }
506
DoModifier010(const uint8_t * data,size_t size)507 bool DoModifier010(const uint8_t* data, size_t size)
508 {
509 if (data == nullptr) {
510 return false;
511 }
512
513 // initialize
514 g_data = data;
515 g_size = size;
516 g_pos = 0;
517
518 // test
519 float value = GetData<float>();
520 auto property = std::make_shared<RSAnimatableProperty<float>>(value);
521 auto saturatemodifier = std::make_shared<RSSaturateModifier>(property);
522 saturatemodifier->GetModifierType();
523 saturatemodifier->CreateRenderModifier();
524 auto sepiamodifier = std::make_shared<RSSepiaModifier>(property);
525 sepiamodifier->GetModifierType();
526 sepiamodifier->CreateRenderModifier();
527 auto invertmodifier = std::make_shared<RSInvertModifier>(property);
528 invertmodifier->GetModifierType();
529 invertmodifier->CreateRenderModifier();
530 auto aiInvertmodifier = std::make_shared<RSAiInvertModifier>(property);
531 aiInvertmodifier->GetModifierType();
532 aiInvertmodifier->CreateRenderModifier();
533 auto systemBarEffectmodifier = std::make_shared<RSSystemBarEffectModifier>(property);
534 systemBarEffectmodifier->GetModifierType();
535 systemBarEffectmodifier->CreateRenderModifier();
536 auto hueRotatemodifier = std::make_shared<RSHueRotateModifier>(property);
537 hueRotatemodifier->GetModifierType();
538 hueRotatemodifier->CreateRenderModifier();
539 auto colorBlendmodifier = std::make_shared<RSColorBlendModifier>(property);
540 colorBlendmodifier->GetModifierType();
541 colorBlendmodifier->CreateRenderModifier();
542 auto useEffectmodifier = std::make_shared<RSUseEffectModifier>(property);
543 useEffectmodifier->GetModifierType();
544 useEffectmodifier->CreateRenderModifier();
545 auto colorBlendModemodifier = std::make_shared<RSColorBlendModeModifier>(property);
546 colorBlendModemodifier->GetModifierType();
547 colorBlendModemodifier->CreateRenderModifier();
548 auto colorBlendApplyTypemodifier = std::make_shared<RSColorBlendApplyTypeModifier>(property);
549 colorBlendApplyTypemodifier->GetModifierType();
550 colorBlendApplyTypemodifier->CreateRenderModifier();
551 auto shadowColorStrategymodifier = std::make_shared<RSShadowColorStrategyModifier>(property);
552 shadowColorStrategymodifier->GetModifierType();
553 shadowColorStrategymodifier->CreateRenderModifier();
554 return true;
555 }
556 } // namespace Rosen
557 } // namespace OHOS
558
559 /* Fuzzer entry point */
LLVMFuzzerTestOneInput(const uint8_t * data,size_t size)560 extern "C" int LLVMFuzzerTestOneInput(const uint8_t* data, size_t size)
561 {
562 /* Run your code on data */
563 OHOS::Rosen::DoModifier001(data, size);
564 OHOS::Rosen::DoModifier002(data, size);
565 OHOS::Rosen::DoModifier003(data, size);
566 OHOS::Rosen::DoModifier004(data, size);
567 OHOS::Rosen::DoModifier005(data, size);
568 OHOS::Rosen::DoModifier006(data, size);
569 OHOS::Rosen::DoModifier007(data, size);
570 OHOS::Rosen::DoModifier008(data, size);
571 OHOS::Rosen::DoModifier009(data, size);
572 OHOS::Rosen::DoModifier010(data, size);
573 return 0;
574 }
575
576