[librsvg/rustification] rsvg-filter: Don't use CLAMP(x, 0, max) on unsigned values
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg/rustification] rsvg-filter: Don't use CLAMP(x, 0, max) on unsigned values
- Date: Tue, 13 Dec 2016 20:05:16 +0000 (UTC)
commit 6d199be6ab8dd345c7c7be8f31dac71c8c8c56e7
Author: Federico Mena Quintero <federico gnome org>
Date: Tue Dec 13 14:03:53 2016 -0600
rsvg-filter: Don't use CLAMP(x, 0, max) on unsigned values
The comparison against 0 is always true anyway.
Also, fix a potential out-of-bounds read in discrete_component_transfer_func().
rsvg-filter.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/rsvg-filter.c b/rsvg-filter.c
index 973687b..2794145 100644
--- a/rsvg-filter.c
+++ b/rsvg-filter.c
@@ -2542,8 +2542,8 @@ table_component_transfer_func (gint C, RsvgNodeComponentTransferFunc * user_data
k = (C * (num_values - 1)) / 255;
- vk = user_data->tableValues[CLAMP (k, 0, num_values - 1)];
- vk1 = user_data->tableValues[CLAMP (k + 1, 0, num_values - 1)];
+ vk = user_data->tableValues[MIN (k, num_values - 1)];
+ vk1 = user_data->tableValues[MIN (k + 1, num_values - 1)];
distancefromlast = (C * (user_data->nbTableValues - 1)) - k * 255;
@@ -2560,7 +2560,7 @@ discrete_component_transfer_func (gint C, RsvgNodeComponentTransferFunc * user_d
k = (C * user_data->nbTableValues) / 255;
- return user_data->tableValues[CLAMP (k, 0, user_data->nbTableValues)];
+ return user_data->tableValues[CLAMP (k, 0, user_data->nbTableValues - 1)];
}
static gint
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]