Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
Patch Available
Description
There's a problematic type cast in generated c_glib service code that treat the sign bit of gint8 as normal bit (i.e. 128).
The problem is illustrated as follows.
int i = 0; users_handler_func((*gint8)&i); // Suppose this function tries to set i to -100 store_handler_result(i); // This stores 156, not -100