mirror of
https://github.com/netsurf-browser/netsurf
synced 2025-01-22 18:32:16 +03:00
Better, safer fix for the type punning issue
svn path=/trunk/netsurf/; revision=5562
This commit is contained in:
parent
1108d1d1c5
commit
5c01ca3306
@ -141,6 +141,7 @@ static bool fetch_data_process(struct fetch_data_context *c)
|
||||
char *params;
|
||||
char *comma;
|
||||
char *unescaped;
|
||||
int templen;
|
||||
|
||||
/* format of a data: URL is:
|
||||
* data:[<mimetype>][;base64],<data>
|
||||
@ -191,12 +192,10 @@ static bool fetch_data_process(struct fetch_data_context *c)
|
||||
|
||||
/* we URL unescape the data first, just incase some insane page
|
||||
* decides to nest URL and base64 encoding. Like, say, Acid2.
|
||||
*
|
||||
* Note: the odd cast via void* is to prevent type-punning issues.
|
||||
* we can be confident that size_t is at least as well aligned
|
||||
* as int will be.
|
||||
*/
|
||||
unescaped = curl_easy_unescape(curl, comma + 1, 0, (int *)((void *)&c->datalen));
|
||||
templen = c->datalen;
|
||||
unescaped = curl_easy_unescape(curl, comma + 1, 0, &templen);
|
||||
c->datalen = templen;
|
||||
if (unescaped == NULL) {
|
||||
fetch_data_send_callback(FETCH_ERROR, c,
|
||||
"Unable to URL decode data: URL", 0);
|
||||
|
Loading…
Reference in New Issue
Block a user