Github user jeking3 commented on a diff in the pull request:

    https://github.com/apache/thrift/pull/1214#discussion_r106794619
  
    --- Diff: lib/c_glib/src/thrift/c_glib/protocol/thrift_compact_protocol.c 
---
    @@ -120,7 +120,11 @@ thrift_bitwise_cast_gdouble (const guint64 v)
     static guint64
     i64_to_zigzag (const gint64 l)
     {
    -  return (l << 1) ^ (l >> 63);
    --- End diff --
    
    Sounds to me like a negative input is not allowed; can we change the input 
type to unsigned then, or throw an exception when it is negative?  If you look 
inside commit 7edc8faefd391ce11eca3023a35cc54bcb2eb1af I added code in the cpp 
library (and compiler, following the "throw a string" ugliness) to throw on 
various conditions like this.  Let's make it so these undefined cases cause an 
exception rather than trying to clip them.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to