]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
certtool: lift any limits in print_raw()
authorNikos Mavrogiannopoulos <nmav@redhat.com>
Fri, 7 Oct 2016 14:10:19 +0000 (16:10 +0200)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Fri, 7 Oct 2016 17:09:12 +0000 (19:09 +0200)
src/certtool.c

index 4ae3b123d97f9429d03bb1768a09da3838b99091..bf8f62fbb6ef3daa0d854d3f71cc5cecb18fc3bf 100644 (file)
@@ -2759,22 +2759,21 @@ static void print_dn(const char *prefix, const gnutls_datum_t *raw)
 
 static void print_raw(const char *prefix, const gnutls_datum_t *raw)
 {
-       char data[512];
-       size_t data_size;
        int ret;
+       gnutls_datum_t tmp;
 
        if (raw->data == NULL || raw->size == 0)
                return;
 
-       data_size = sizeof(data);
-       ret = gnutls_hex_encode(raw, data, &data_size);
+       ret = gnutls_hex_encode2(raw, &tmp);
        if (ret < 0) {
-               fprintf(stderr, "gnutls_hex_encode: %s\n",
+               fprintf(stderr, "gnutls_hex_encode2: %s\n",
                        gnutls_strerror(ret));
                exit(1);
        }
 
-       fprintf(outfile, "%s: %s\n", prefix, data);
+       fprintf(outfile, "%s: %s\n", prefix, tmp.data);
+       gnutls_free(tmp.data);
 }
 
 static void print_pkcs7_sig_info(gnutls_pkcs7_signature_info_st *info, common_info_st *cinfo)