summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
Diffstat (limited to 'src/include')
-rw-r--r--src/include/krb5/asn.1/encode.h32
1 files changed, 24 insertions, 8 deletions
diff --git a/src/include/krb5/asn.1/encode.h b/src/include/krb5/asn.1/encode.h
index 0b2602e86..044927f4c 100644
--- a/src/include/krb5/asn.1/encode.h
+++ b/src/include/krb5/asn.1/encode.h
@@ -225,14 +225,30 @@ krb5_error_code decode_generic
*/
/* allow either constructed or primitive encoding, so check for bit 6
set or reset */
-#define krb5_is_as_req(data) ((data)[0] == 0x60 || (data)[0] == 0x20)
-#define krb5_is_kdc_rep(data) ((data)[0] == 0x61 || (data)[0] == 0x21)
-#define krb5_is_krb_error(data) ((data)[0] == 0x62 || (data)[0] == 0x22)
-#define krb5_is_ap_req(data) ((data)[0] == 0x63 || (data)[0] == 0x23)
-#define krb5_is_ap_rep(data) ((data)[0] == 0x64 || (data)[0] == 0x24)
-#define krb5_is_tgs_req(data) ((data)[0] == 0x65 || (data)[0] == 0x25)
-#define krb5_is_krb_safe(data) ((data)[0] == 0x66 || (data)[0] == 0x26)
-#define krb5_is_krb_priv(data) ((data)[0] == 0x67 || (data)[0] == 0x27)
+#define krb5_is_as_req(dat)\
+ ((dat) && (dat)->length && ((dat)->data[0] == 0x60 ||\
+ (dat)->data[0] == 0x20))
+#define krb5_is_kdc_rep(dat)\
+ ((dat) && (dat)->length && ((dat)->data[0] == 0x61 ||\
+ (dat)->data[0] == 0x21))
+#define krb5_is_krb_error(dat)\
+ ((dat) && (dat)->length && ((dat)->data[0] == 0x62 ||\
+ (dat)->data[0] == 0x22))
+#define krb5_is_ap_req(dat)\
+ ((dat) && (dat)->length && ((dat)->data[0] == 0x63 ||\
+ (dat)->data[0] == 0x23))
+#define krb5_is_ap_rep(dat)\
+ ((dat) && (dat)->length && ((dat)->data[0] == 0x64 ||\
+ (dat)->data[0] == 0x24))
+#define krb5_is_tgs_req(dat)\
+ ((dat) && (dat)->length && ((dat)->data[0] == 0x65 ||\
+ (dat)->data[0] == 0x25))
+#define krb5_is_krb_safe(dat)\
+ ((dat) && (dat)->length && ((dat)->data[0] == 0x66 ||\
+ (dat)->data[0] == 0x26))
+#define krb5_is_krb_priv(dat)\
+ ((dat) && (dat)->length && ((dat)->data[0] == 0x67 ||\
+ (dat)->data[0] == 0x27))
#endif /* KRB5_ENCODE_DEFS__ */