summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Sterrett <mr_bones_@gentoo.org>2010-05-18 17:49:21 +0000
committerMichael Sterrett <mr_bones_@gentoo.org>2010-05-18 17:49:21 +0000
commitcf6f9f156c14b7a5a667b32942d47d692c41161d (patch)
tree8ac29a86677ce029b73a5f1dd0e257d1dcd7d2dc /games-puzzle/concentration/files
parentamd64 stable, bug #318783 (diff)
downloadgentoo-2-cf6f9f156c14b7a5a667b32942d47d692c41161d.tar.gz
gentoo-2-cf6f9f156c14b7a5a667b32942d47d692c41161d.tar.bz2
gentoo-2-cf6f9f156c14b7a5a667b32942d47d692c41161d.zip
fix memory corruption bug; change HOMEPAGE (bug #320389)
(Portage version: 2.1.8.3/cvs/Linux i686)
Diffstat (limited to 'games-puzzle/concentration/files')
-rw-r--r--games-puzzle/concentration/files/concentration-1.2-gentoo.patch155
1 files changed, 155 insertions, 0 deletions
diff --git a/games-puzzle/concentration/files/concentration-1.2-gentoo.patch b/games-puzzle/concentration/files/concentration-1.2-gentoo.patch
new file mode 100644
index 000000000000..759d068b5bae
--- /dev/null
+++ b/games-puzzle/concentration/files/concentration-1.2-gentoo.patch
@@ -0,0 +1,155 @@
+diff -ru concentration-1.2.orig/src/ShiftyEngine.c concentration-1.2/src/ShiftyEngine.c
+--- concentration-1.2.orig/src/ShiftyEngine.c 2004-09-20 21:08:59.000000000 -0400
++++ concentration-1.2/src/ShiftyEngine.c 2010-05-18 13:39:22.717713130 -0400
+@@ -61,13 +61,13 @@
+ int len = strlen(name);
+ assert(name);
+
+- gameName = (char *)malloc((sizeof(char) * len) + 1);
++ gameName = malloc(len + 1);
+ if(!gameName) {
+ fprintf(stderr, "Out Of Memory.");
+ exit(1);
+ }
+
+- strncpy(gameName, name, len);
++ snprintf(gameName, len + 1, "%s", name);
+ }
+
+ /*****************************************************
+@@ -87,13 +87,13 @@
+ int len = strlen(name);
+ assert(name);
+
+- backgroundName = (char *)malloc((sizeof(char) * len) + 1);
++ backgroundName = malloc(len + 1);
+ if(!backgroundName) {
+ fprintf(stderr, "Out Of Memory.");
+ exit(1);
+ }
+
+- strncpy(backgroundName, name, len);
++ snprintf(backgroundName, len + 1, "%s", name);
+ }
+
+ /*****************************************************
+@@ -175,7 +175,7 @@
+ exit(1);
+ }
+
+- strncpy(t->name, name, 16);
++ snprintf(t->name, 16, "%s", name);
+ t->x = x;
+ t->y = y;
+ t->w = w;
+diff -ru concentration-1.2.orig/src/concentration.c concentration-1.2/src/concentration.c
+--- concentration-1.2.orig/src/concentration.c 2005-11-09 11:05:02.000000000 -0500
++++ concentration-1.2/src/concentration.c 2010-05-18 13:42:19.688474410 -0400
+@@ -202,7 +202,7 @@
+
+ /*****************************************************
+ ****************************************************/
+-inline void drawText(char * str, SDL_Color color, int x, int y, TTF_Font * font)
++void drawText(char * str, SDL_Color color, int x, int y, TTF_Font * font)
+ {
+ static SDL_Rect dest;
+
+@@ -814,7 +814,7 @@
+ SE_Error("A blit failed.");
+ SDL_FreeSurface(text);
+
+- sprintf(str, "%d seconds", myclock);
++ snprintf(str, sizeof(str), "%d seconds", myclock);
+ text = TTF_RenderText_Blended(smallFont, str, black);
+ if(!text)
+ SE_Error("A render failed.");
+@@ -831,7 +831,7 @@
+ SE_Error("A blit failed.");
+ SDL_FreeSurface(text);
+
+- sprintf(str, "%d trys", hits + misses);
++ snprintf(str, sizeof(str), "%d trys", hits + misses);
+ text = TTF_RenderText_Blended(smallFont, str, black);
+ if(!text)
+ SE_Error("A render failed.");
+@@ -840,7 +840,7 @@
+ SE_Error("A blit failed.");
+ SDL_FreeSurface(text);
+
+- sprintf(str, "Total pairs: %d", (size == 2) ? 2 : (size == 4) ? 8 : 36);
++ snprintf(str, sizeof(str), "Total pairs: %d", (size == 2) ? 2 : (size == 4) ? 8 : 36);
+ text = TTF_RenderText_Blended(smallFont, str, black);
+ if(!text)
+ SE_Error("A render failed.");
+@@ -1327,7 +1327,7 @@
+ {
+ int x, makeFullScreen = 0;
+
+- char name[16];
++ char name[64];
+
+ SE_SetName("Concentration 1.2");
+ SE_SetBackground("pics/background.png");
+@@ -1395,13 +1395,13 @@
+
+ /* load icon set 1 */
+ for(x = 1; x <= 30; x++) {
+- sprintf(name, "pics/set1/%d.png", x);
++ snprintf(name, sizeof(name), "pics/set1/%d.png", x);
+ icons[x] = loadPNG(name);
+
+- sprintf(name, "pics/set2/%d.png", x);
++ snprintf(name, sizeof(name), "pics/set2/%d.png", x);
+ icons2[x] = loadPNG(name);
+
+- sprintf(name, "pics/set3/%d.png", x);
++ snprintf(name, sizeof(name), "pics/set3/%d.png", x);
+ icons3[x] = loadPNG(name);
+ }
+
+diff -ru concentration-1.2.orig/src/gfx.c concentration-1.2/src/gfx.c
+--- concentration-1.2.orig/src/gfx.c 2004-09-20 21:08:59.000000000 -0400
++++ concentration-1.2/src/gfx.c 2010-05-18 13:39:22.718722669 -0400
+@@ -39,8 +39,7 @@
+ exit(1);
+ }
+
+- strcpy(newname, sg_data_path);
+- strcat(newname, name);
++ snprintf(newname, len1 + len2 + 1, "%s%s", sg_data_path, name);
+
+ temp = IMG_Load(newname);
+ if (temp == NULL) {
+@@ -67,8 +66,7 @@
+ exit(1);
+ }
+
+- strcpy(newname, sg_data_path);
+- strcat(newname, name);
++ snprintf(newname, len1 + len2 + 1, "%s%s", sg_data_path, name);
+
+ temp = IMG_Load(newname);
+ if (temp == NULL) {
+@@ -99,8 +97,7 @@
+ exit(1);
+ }
+
+- strcpy(newname, sg_data_path);
+- strcat(newname, name);
++ snprintf(newname, len1 + len2 + 1, "%s%s", sg_data_path, name);
+
+ temp = TTF_OpenFont(newname, size);
+ if (temp == NULL) {
+diff -ru concentration-1.2.orig/src/sound.c concentration-1.2/src/sound.c
+--- concentration-1.2.orig/src/sound.c 2004-09-20 21:08:59.000000000 -0400
++++ concentration-1.2/src/sound.c 2010-05-18 13:39:22.718722669 -0400
+@@ -57,8 +57,7 @@
+ fprintf(stderr, "Out of memory!\n");
+ exit(1);
+ }
+- strcpy(newname, sg_data_path);
+- strcat(newname, name);
++ snprintf(newname, len1 + len2 + 1, "%s%s", sg_data_path, name);
+
+ temp = Mix_LoadWAV(newname);
+ if(!temp)