[pygobject] Avoid a silent long to int truncation
- From: Rui Matos <rtcm src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pygobject] Avoid a silent long to int truncation
- Date: Fri, 17 Jul 2015 13:19:48 +0000 (UTC)
commit 8aa3d5935b4541be6e76e8792e58bb301fa4f7d1
Author: Rui Matos <tiagomatos gmail com>
Date: Thu May 21 17:53:17 2015 +0200
Avoid a silent long to int truncation
If the python object contains a value bigger than MAXUINT we'd
silently truncate it when assigning to 'val' and the if condition
would always be true.
This was caught by a coverity scan.
https://bugzilla.gnome.org/show_bug.cgi?id=749698
gi/pygi-value.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
---
diff --git a/gi/pygi-value.c b/gi/pygi-value.c
index 9d5d0ca..7fdf767 100644
--- a/gi/pygi-value.c
+++ b/gi/pygi-value.c
@@ -382,7 +382,7 @@ pyg_value_from_pyobject_with_error(GValue *value, PyObject *obj)
case G_TYPE_UINT:
{
if (PYGLIB_PyLong_Check(obj)) {
- guint val;
+ gulong val;
/* check that number is not negative */
if (PyLong_AsLongLong(obj) < 0)
@@ -390,7 +390,7 @@ pyg_value_from_pyobject_with_error(GValue *value, PyObject *obj)
val = PyLong_AsUnsignedLong(obj);
if (val <= G_MAXUINT)
- g_value_set_uint(value, val);
+ g_value_set_uint(value, (guint) val);
else
return -1;
} else {
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]