amutil.c (amanda-tag-community-3.5.2) | : | amutil.c (amanda-tag-community-3.5.3) | ||
---|---|---|---|---|
skipping to change at line 1131 | skipping to change at line 1131 | |||
size_t orig_len, new_len, i; | size_t orig_len, new_len, i; | |||
GString *s; | GString *s; | |||
gchar *ret; | gchar *ret; | |||
if (!str) { | if (!str) { | |||
s = g_string_sized_new(0); | s = g_string_sized_new(0); | |||
goto cleanup; | goto cleanup; | |||
} | } | |||
new_len = orig_len = strlen(str); | new_len = orig_len = strlen(str); | |||
for (i = 0; i < orig_len; i++) { | for (i = 0; i < orig_len; i++) { | |||
if (str[i] == '%') { | if (str[i] == '%') { | |||
if (new_len < 2) { | ||||
g_set_error(err, am_util_error_quark(), AM_UTIL_ERROR_HEXDECODEI | ||||
NVAL, | ||||
"Invalid hexcode string: %s", str); | ||||
s = g_string_sized_new(0); | ||||
goto cleanup; | ||||
} | ||||
new_len -= 2; | new_len -= 2; | |||
} | } | |||
} | } | |||
s = g_string_sized_new(new_len); | s = g_string_sized_new(new_len); | |||
for (i = 0; (orig_len > 2) && (i < orig_len-2); i++) { | for (i = 0; (orig_len > 2) && (i < orig_len-2); i++) { | |||
if (str[i] == '%') { | if (str[i] == '%') { | |||
gchar tmp = 0; | gchar tmp = 0; | |||
size_t j; | size_t j; | |||
for (j = 1; j < 3; j++) { | for (j = 1; j < 3; j++) { | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 7 lines changed or added |