]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
print: Deal with empty octets boxes
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 28 Jul 2020 19:50:50 +0000 (15:50 -0400)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Tue, 28 Jul 2020 19:50:50 +0000 (15:50 -0400)
src/lib/util/print.c

index 2bf5c21dc9e822a79d7841e94cd65bc67bb016b1..3df64c90adf273e137215fa4a312876e6e479c2c 100644 (file)
@@ -740,9 +740,14 @@ char *fr_vasprintf(TALLOC_CTX *ctx, char const *fmt, va_list ap)
 
                                switch (in->type) {
                                case FR_TYPE_OCTETS:
-                                       subst = talloc_array(NULL, char, (in->vb_length * 2) + 1);
-                                       if (!subst) goto oom;
-                                       fr_bin2hex(&FR_SBUFF_OUT(subst, talloc_array_length(subst)), &FR_DBUFF_TMP(in->vb_octets, in->vb_length));
+                                       if (in->vb_octets) {
+                                               subst = talloc_array(NULL, char, (in->vb_length * 2) + 1);
+                                               if (!subst) goto oom;
+                                               fr_bin2hex(&FR_SBUFF_OUT(subst, talloc_array_length(subst)), &FR_DBUFF_TMP(in->vb_octets, in->vb_length));
+                                       } else {
+                                               subst = talloc_zero_array(NULL, char, 1);
+                                               if (!subst) goto oom;
+                                       }
                                        break;
 
                                case FR_TYPE_STRING: