summaryrefslogtreecommitdiffstats
path: root/utils/gssd/write_bytes.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils/gssd/write_bytes.h')
-rw-r--r--utils/gssd/write_bytes.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/utils/gssd/write_bytes.h b/utils/gssd/write_bytes.h
index 8021cd8..4fc72cc 100644
--- a/utils/gssd/write_bytes.h
+++ b/utils/gssd/write_bytes.h
@@ -63,6 +63,19 @@ write_buffer(char **p, char *end, gss_buffer_desc *arg)
return 0;
}
+inline static int
+write_oid(char **p, char *end, gss_OID_desc *arg)
+{
+ int len = (int)arg->length; /* make an int out of size_t */
+ if (WRITE_BYTES(p, end, len))
+ return -1;
+ if (*p + arg->length > end)
+ return -1;
+ memcpy(*p, arg->elements, len);
+ *p += len;
+ return 0;
+}
+
static inline int
get_bytes(char **ptr, const char *end, void *res, int len)
{