Overview
Comment: | URL encoding: Make sure an unsigned shift is used |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
179c625d15b7eb8d070ca325b19737a7 |
User & Date: | js on 2016-03-28 19:33:50 |
Other Links: | manifest | tags |
Context
2016-03-28
| ||
19:50 | socket.m: Remove leftover from port registry check-in: 9394805757 user: js tags: trunk | |
19:33 | URL encoding: Make sure an unsigned shift is used check-in: 179c625d15 user: js tags: trunk | |
16:50 | Change the definition of thread priorities check-in: b4023e6bc0 user: js tags: trunk | |
Changes
Modified src/OFString+URLEncoding.m from [2cd0023e53] to [18f43044b2].
︙ | ︙ | |||
48 49 50 51 52 53 54 55 56 57 58 59 | * @"" literal. */ if ((retCString = malloc(([self UTF8StringLength] * 3) + 1)) == NULL) @throw [OFOutOfMemoryException exceptionWithRequestedSize: ([self UTF8StringLength] * 3) + 1]; for (i = 0; *string != '\0'; string++) { /* * '+' is also listed in RFC 1738, however, '+' is sometimes * interpreted as space in HTTP. Therefore always escape it to * make sure it's always interpreted correctly. */ | > > | | < < | | | | | | 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | * @"" literal. */ if ((retCString = malloc(([self UTF8StringLength] * 3) + 1)) == NULL) @throw [OFOutOfMemoryException exceptionWithRequestedSize: ([self UTF8StringLength] * 3) + 1]; for (i = 0; *string != '\0'; string++) { unsigned char c = *string; /* * '+' is also listed in RFC 1738, however, '+' is sometimes * interpreted as space in HTTP. Therefore always escape it to * make sure it's always interpreted correctly. */ if (!(c & 0x80) && (isalnum(c) || c == '$' || c == '-' || c == '_' || c == '.' || c == '!' || c == '*' || c == '(' || c == ')' || c == ',' || strchr(ignored, c) != NULL)) retCString[i++] = c; else { unsigned char high, low; high = c >> 4; low = c & 0x0F; retCString[i++] = '%'; retCString[i++] = (high > 9 ? high - 10 + 'A' : high + '0'); retCString[i++] = (low > 9 ? low - 10 + 'A' : low + '0'); } |
︙ | ︙ |