chiark / gitweb /
SECURITY: Make GETIL_B always have type `unsigned', not `int'
[adns.git] / src / internal.h
index f496fcb519313807f4f0ef74ce78564d87013192..43f6d4359848fda3eba8fd0ebbf482b10f25c4b2 100644 (file)
@@ -6,7 +6,7 @@
  */
 /*
  *  This file is part of adns, which is
- *    Copyright (C) 1997-2000,2003,2006,2014  Ian Jackson
+ *    Copyright (C) 1997-2000,2003,2006,2014-2016  Ian Jackson
  *    Copyright (C) 2014  Mark Wooding
  *    Copyright (C) 1999-2000,2003,2006  Tony Finch
  *    Copyright (C) 1991 Massachusetts Institute of Technology
@@ -394,6 +394,7 @@ struct adns__state {
     adns_sockaddr base, mask;
   } sortlist[MAXSORTLIST];
   char **searchlist;
+  unsigned config_report_unknown:1;
   unsigned short rand48xsubi[3];
 };
 
@@ -933,7 +934,7 @@ static inline int errno_resources(int e) { return e==ENOMEM || e==ENOBUFS; }
   (( ((sz)+sizeof(union maxalign)-1) / sizeof(union maxalign) )        \
    * sizeof(union maxalign) )
 
-#define GETIL_B(cb) (((dgram)[(cb)++]) & 0x0ff)
+#define GETIL_B(cb) (((dgram)[(cb)++]) & 0x0ffu)
 #define GET_B(cb,tv) ((tv)= GETIL_B((cb)))
 #define GET_W(cb,tv) ((tv)=0,(tv)|=(GETIL_B((cb))<<8), (tv)|=GETIL_B(cb), (tv))
 #define GET_L(cb,tv) ( (tv)=0,                         \