88246d1
From 262c05b20c7de243542e7502e00152cdafb573d4 Mon Sep 17 00:00:00 2001
88246d1
From: Peter Bieringer <pb@bieringer.de>
88246d1
Date: Wed, 6 Jul 2022 22:53:12 +0200
88246d1
Subject: [PATCH] fix for https://github.com/zmanda/amanda/issues/167
88246d1
88246d1
---
88246d1
 common-src/amutil.c | 6 ++++++
88246d1
 1 file changed, 6 insertions(+)
88246d1
88246d1
diff --git a/common-src/amutil.c b/common-src/amutil.c
88246d1
index 20454ab73c..371d38e433 100644
88246d1
--- a/common-src/amutil.c
88246d1
+++ b/common-src/amutil.c
88246d1
@@ -1132,6 +1132,12 @@ char *hexdecode_string(const char *str, GError **err)
88246d1
     new_len = orig_len = strlen(str);
88246d1
     for (i = 0; i < orig_len; i++) {
88246d1
         if (str[i] == '%') {
88246d1
+            if (new_len < 2) {
88246d1
+                g_set_error(err, am_util_error_quark(), AM_UTIL_ERROR_HEXDECODEINVAL,
88246d1
+                    "Invalid hexcode string: %s", str);
88246d1
+                s = g_string_sized_new(0);
88246d1
+                goto cleanup;
88246d1
+            }
88246d1
             new_len -= 2;
88246d1
         }
88246d1
     }