Fix PRELU underflow/overflow issue.

The quant8 results should be clamped by 0 and 255 before static casting
to uint8_t.

Bug: 134800353
Test: NeuralNetworksTest_static_fuzzing
Change-Id: I1bc8f386782c67158edd3da2f663fee5746dda48
Merged-In: I1bc8f386782c67158edd3da2f663fee5746dda48
(cherry picked from commit 3ca1c4d963d0007fe2b90dc5ef97bfee4b3f805a)
diff --git a/nn/common/operations/PRelu.cpp b/nn/common/operations/PRelu.cpp
index 0bf4ce6..68d1e5b 100644
--- a/nn/common/operations/PRelu.cpp
+++ b/nn/common/operations/PRelu.cpp
@@ -86,6 +86,7 @@
                                  tflite::MultiplyByQuantizedMultiplier(
                                          input * alpha, output_multiplier_neg, output_shift_neg);
                 }
+                output_val = std::max(0, std::min(255, output_val));
                 return static_cast<uint8_t>(output_val);
             },
             aData, aShape, bData, bShape, outputData, outputShape);