Fix out-of-bounds acces in url_decode()

This commit is contained in:
Sergey Lyubka committed 2013-02-16 14:31:37 +00:00
1 parent 0bd43bcae3
commit fbf1ccee45
2 files changed
+12 -1

No files matched your search

+1 -1
View File
@@ -1646,7 +1646,7 @@ static int url_decode(const char *src, int src_len, char *dst,
#define HEXTOI(x) (isdigit(x) ? x - '0' : x - 'W')
for (i = j = 0; i < src_len && j < dst_len - 1; i++, j++) {
if (src[i] == '%' &&
if (src[i] == '%' && i < src_len - 2 &&
isxdigit(* (const unsigned char *) (src + i + 1)) &&
isxdigit(* (const unsigned char *) (src + i + 2))) {
a = tolower(* (const unsigned char *) (src + i + 1));