sexp: Improve printing data representing a negative number.
authorWerner Koch <wk@gnupg.org>
Sat, 7 Sep 2013 08:06:46 +0000 (10:06 +0200)
committerWerner Koch <wk@gnupg.org>
Thu, 19 Sep 2013 14:43:33 +0000 (16:43 +0200)
* src/sexp.c (suitable_encoding): Detect a negative number.

Signed-off-by: Werner Koch <wk@gnupg.org>
src/sexp.c

index d8812c7..882ee52 100644 (file)
@@ -1722,6 +1722,10 @@ suitable_encoding (const unsigned char *buffer, size_t length)
   if (!length)
     return 1;
 
+  if (*buffer & 0x80)
+    return 0; /* If the MSB is set we assume that buffer represents a
+                 negative number.  */
+
   for (s=buffer; length; s++, length--)
     {
       if ( (*s < 0x20 || (*s >= 0x7f && *s <= 0xa0))