diff options
author | Simo Sorce <simo@redhat.com> | 2012-02-02 18:29:24 -0500 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2012-02-03 22:32:24 -0500 |
commit | fad3b1058ff1abdcfb0a51de35e8e6f408ba68a9 (patch) | |
tree | f98ffe2e985e6e1df210e1ed8f62bbcf1456ba09 | |
parent | 9136e031772f472270a3d37732daf1c21e99e54c (diff) | |
download | gss-proxy-fad3b1058ff1abdcfb0a51de35e8e6f408ba68a9.tar.gz gss-proxy-fad3b1058ff1abdcfb0a51de35e8e6f408ba68a9.tar.xz gss-proxy-fad3b1058ff1abdcfb0a51de35e8e6f408ba68a9.zip |
Allow conversion of empty strings.
-rw-r--r-- | proxy/src/gp_conv.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/proxy/src/gp_conv.c b/proxy/src/gp_conv.c index 88c3818..4f06987 100644 --- a/proxy/src/gp_conv.c +++ b/proxy/src/gp_conv.c @@ -45,6 +45,12 @@ void *gp_memdup(void *in, size_t len) int gp_conv_octet_string(size_t length, void *value, octet_string *out) { + if (length == 0) { + out->octet_string_val = NULL; + out->octet_string_len = 0; + return 0; + } + out->octet_string_val = gp_memdup(value, length); if (!out->octet_string_val) { return ENOMEM; @@ -120,6 +126,11 @@ int gp_conv_gssx_to_buffer_alloc(gssx_buffer *in, gss_buffer_t *out) { gss_buffer_desc *o; + if (in->octet_string_len == 0) { + *out = GSS_C_NO_BUFFER; + return 0; + } + o = malloc(sizeof(gss_buffer_desc)); if (!o) { return ENOMEM; |