.hgtags
author Sam Lantinga <slouken@libsdl.org>
Wed, 10 Jul 2013 21:57:31 -0700
changeset 7396 a36ab6149a10
parent 4462 5cb6424a5676
child 7578 4b43278168be
permissions -rw-r--r--
Fixed bug 1953 - Crash at memcpy X11_DispatchEvent(_THIS) Function Nitz In Function X11_DispatchEvent(_THIS), case SelectionNotify : static void X11_DispatchEvent(_THIS) { // Some Code case SelectionNotify: { //Some Code SDL_bool expect_lf = SDL_FALSE; char *start = NULL; // Initialised with NULL char *scan = (char*)p.data; char *fn; char *uri; int length = 0; while (p.count--) { if (!expect_lf) { if (*scan==0x0D) { expect_lf = SDL_TRUE; } else if(start == NULL) { start = scan; length = 0; } length++; } else { if (*scan==0x0A && length>0) { uri = malloc(length--); memcpy(uri, start, length); // Problem is Here, start is still NULL if control comes to else statement without initialising the start pointer, which is wrong uri[length] = 0; fn = X11_URIToLocal(uri); if (fn) SDL_SendDropFile(fn); free(uri); } expect_lf = SDL_FALSE; start = NULL; } scan++; } } As shown above how start pointer remains NULL, Patch for this issue would be: if (*scan==0x0D) { expect_lf = SDL_TRUE; } if(start == NULL) { start = scan; length = 0; } Just replace else if statement with if.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4405
7828bb19af1e update tags
convert-repo
parents:
diff changeset
     1
0afe0e38e02cf2048e93582f01c52fbb91d3c7bb release-1.2.7
7828bb19af1e update tags
convert-repo
parents:
diff changeset
     2
230b156829ed13b31134d96f689c917981f57b84 release-1.2.5
7828bb19af1e update tags
convert-repo
parents:
diff changeset
     3
27cab50ec9c746e886ce0f3fdaa0b0cdc55a594f release-1.2.11
7828bb19af1e update tags
convert-repo
parents:
diff changeset
     4
2fe3fbd2bff50165b3cad33bf40d70b3bb3c9fd0 release-1.2.3
7828bb19af1e update tags
convert-repo
parents:
diff changeset
     5
3c052d3bcc76c899dfd4846be76243a78e8c7180 release-1.2.4
7828bb19af1e update tags
convert-repo
parents:
diff changeset
     6
3c5eed71a3320962551af3b3dfbee0c99fcf0086 release-1.2.10
7828bb19af1e update tags
convert-repo
parents:
diff changeset
     7
4867f7f7dd3426d1dbbeef48b3f3b3aa19590cc4 release-1.2.12
7828bb19af1e update tags
convert-repo
parents:
diff changeset
     8
6e28dae59e3baf4447c83e833a8d2ac912536f5b release-1.2.1
7828bb19af1e update tags
convert-repo
parents:
diff changeset
     9
7c2589fb8d4df54c6faabd3faebd0c0e73f67879 release-1.2.13
7828bb19af1e update tags
convert-repo
parents:
diff changeset
    10
86de11faf082881ad9b73a1a1d78733ca07f8db8 release-1.2.6
7828bb19af1e update tags
convert-repo
parents:
diff changeset
    11
bb051fa871aa0b53ea57df56a446cec3bb85924c release-1.2.2
7828bb19af1e update tags
convert-repo
parents:
diff changeset
    12
cfcb2e1c36ebe9809577adf768b0ec53e8768af9 release-1.2.8
7828bb19af1e update tags
convert-repo
parents:
diff changeset
    13
e044e7c70a50a2f54d14ee20d0933e904e5853b6 release-1.2.9
7828bb19af1e update tags
convert-repo
parents:
diff changeset
    14
f14cf9d71233934811774f941d0de121d5f96ccf release-1.2.14
4462
5cb6424a5676 Tagging version before everything gets ripped out.
Sam Lantinga <slouken@libsdl.org>
parents: 4405
diff changeset
    15
39c22a953456f6c9e2c8993c8ff973824104102a pre-touch-removal