[SCM] logic game ported from ATARI XE/XL branch, master, updated. debian/0.65.6+dfsg-1-14-g5413e73
Stephen Kitt
steve at sk2.org
Tue Sep 27 22:36:07 UTC 2011
The following commit has been merged in the master branch:
commit f690e0d7c001fc83040a756e8913814e31d48e79
Author: Stephen Kitt <steve at sk2.org>
Date: Wed Sep 28 00:26:13 2011 +0200
Always use a format string with sprintf() (closes: #643397).
diff --git a/debian/changelog b/debian/changelog
index 50992b0..74250b3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+gnurobbo (0.66+dfsg-2) unstable; urgency=low
+
+ * Always use a format string with sprintf() (closes: #643397).
+
+ -- Stephen Kitt <steve at sk2.org> Wed, 28 Sep 2011 00:02:45 +0200
+
gnurobbo (0.66+dfsg-1) unstable; urgency=low
* New upstream version.
diff --git a/debian/patches/format-security.patch b/debian/patches/format-security.patch
new file mode 100644
index 0000000..22e70d3
--- /dev/null
+++ b/debian/patches/format-security.patch
@@ -0,0 +1,245 @@
+Description: Always use a format string with sprintf()
+Author: Stephen Kitt <steve at sk2.org>
+Forwarded: https://sourceforge.net/tracker/?func=detail&aid=3414732&group_id=64186&atid=506596
+Last-Update: 2011-09-27
+
+--- gnurobbo.orig/konstruktor.c
++++ gnurobbo/konstruktor.c
+@@ -245,7 +245,7 @@
+ else if (level.w == 32 && level.h == 31)
+ gsize = 1;
+ inforedraw = 1;
+- sprintf(infostring, txt_konstruktor_Welcome_to_GNU_Robbo_Designer);
++ sprintf(infostring, "%s", txt_konstruktor_Welcome_to_GNU_Robbo_Designer);
+ robbo.keys = k_count_obj(KEY); /* count keys on a map */
+ robbo.bullets = k_count_obj(BULLET) * 9; /* count bullets */
+ game_area.redraw = REDRAW_EVERYTHING;
+@@ -654,12 +654,12 @@
+ nx = nx + k_view.x;
+ ny = ny + k_view.y;
+ if (selected != -1) {
+- sprintf(infostring,
++ sprintf(infostring, "%s",
+ " ");
+ inforedraw = 1;
+ if (K_icons[selected].game_obj == ROBBO) {
+ redraw_field(robbo.x, robbo.y);
+- sprintf(infostring, "Robbo");
++ sprintf(infostring, "%s", "Robbo");
+ }
+ /*
+ * do we try to delete one of the counted objects?
+@@ -686,7 +686,7 @@
+ );
+ switch (K_icons[selected].game_obj) {
+ case GROUND:
+- sprintf(infostring, txt_konstruktor_Ground);
++ sprintf(infostring, "%s", txt_konstruktor_Ground);
+ break;
+ case STOP:
+ sprintf(infostring, "%s (%d %s)",
+@@ -743,7 +743,7 @@
+ txt_konstruktor_on_map);
+ break;
+ case EMPTY_FIELD:
+- sprintf(infostring, txt_konstruktor_Empty_Field);
++ sprintf(infostring, "%s", txt_konstruktor_Empty_Field);
+ break;
+ case BUTTERFLY:
+ sprintf(infostring, "%s (%d %s)",
+@@ -781,9 +781,9 @@
+ case WALL:
+ board[nx][ny].state = wallnumber;
+ if (wallnumber != 3)
+- sprintf(infostring, txt_konstruktor_Wall);
++ sprintf(infostring, "%s", txt_konstruktor_Wall);
+ else
+- sprintf(infostring, txt_konstruktor_Black_Wall);
++ sprintf(infostring, "%s", txt_konstruktor_Black_Wall);
+ break;
+ case TELEPORT:
+ board[nx][ny].teleportnumber = teleportnr;
+@@ -883,7 +883,7 @@
+ break;
+ case K_RELOAD:
+ if (cnt == lastselected) {
+- sprintf(infostring, txt_konstruktor_Level_reloaded);
++ sprintf(infostring, "%s", txt_konstruktor_Level_reloaded);
+ clear_screen();
+ level_init();
+ konstruktor_viewport_init();
+@@ -901,7 +901,7 @@
+ k_redraw_all();
+ cnt = -1;
+ } else {
+- sprintf(infostring,
++ sprintf(infostring, "%s",
+ txt_konstruktor_Reload_level_select_again_to_reload);
+ lastclick = 50;
+ };
+@@ -929,7 +929,7 @@
+ inforedraw = 1;
+ break;
+ case ROBBO:
+- sprintf(infostring, "Robbo");
++ sprintf(infostring, "%s", "Robbo");
+ inforedraw = 1;
+ break;
+ case GUN:
+@@ -1026,16 +1026,16 @@
+ inforedraw = 1;
+ break;
+ case EMPTY_FIELD:
+- sprintf(infostring, txt_konstruktor_Empty_Field);
++ sprintf(infostring, "%s", txt_konstruktor_Empty_Field);
+ inforedraw = 1;
+ break;
+ case WALL:
+ if (cnt == selected)
+ wallnumber = (wallnumber + 1) % 9;
+ if (wallnumber != 3)
+- sprintf(infostring, txt_konstruktor_Wall);
++ sprintf(infostring, "%s", txt_konstruktor_Wall);
+ else
+- sprintf(infostring, txt_konstruktor_Black_Wall);
++ sprintf(infostring, "%s", txt_konstruktor_Black_Wall);
+ inforedraw = 1;
+ break;
+ case K_LASER:
+@@ -1056,7 +1056,7 @@
+ teleportnr = (teleportnr % 11) + 1;
+ break;
+ case GROUND:
+- sprintf(infostring, txt_konstruktor_Ground);
++ sprintf(infostring, "%s", txt_konstruktor_Ground);
+ inforedraw = 1;
+ break;
+ case BIRD:
+@@ -1079,16 +1079,16 @@
+ direction = (direction + 1) % 4;
+ switch (direction) {
+ case 0:
+- sprintf(infostring, txt_konstruktor_Direction_right);
++ sprintf(infostring, "%s", txt_konstruktor_Direction_right);
+ break;
+ case 1:
+- sprintf(infostring, txt_konstruktor_Direction_down);
++ sprintf(infostring, "%s", txt_konstruktor_Direction_down);
+ break;
+ case 2:
+- sprintf(infostring, txt_konstruktor_Direction_left);
++ sprintf(infostring, "%s", txt_konstruktor_Direction_left);
+ break;
+ case 3:
+- sprintf(infostring, txt_konstruktor_Direction_up);
++ sprintf(infostring, "%s", txt_konstruktor_Direction_up);
+ break;
+ }
+ inforedraw = 1;
+@@ -1097,13 +1097,13 @@
+ ltype = (ltype + 1) % 3;
+ switch (ltype) {
+ case 0:
+- sprintf(infostring, txt_konstruktor_Laser_Gun);
++ sprintf(infostring, "%s", txt_konstruktor_Laser_Gun);
+ break;
+ case 1:
+- sprintf(infostring, txt_konstruktor_Blaster_Gun);
++ sprintf(infostring, "%s", txt_konstruktor_Blaster_Gun);
+ break;
+ case 2:
+- sprintf(infostring, txt_konstruktor_Regular_Gun);
++ sprintf(infostring, "%s", txt_konstruktor_Regular_Gun);
+ break;
+ }
+ inforedraw = 1;
+@@ -1114,23 +1114,23 @@
+ movable = (rmstate & 1);
+ switch (rmstate) {
+ case 0:
+- sprintf(infostring, txt_konstruktor_Fixed);
++ sprintf(infostring, "%s", txt_konstruktor_Fixed);
+ break;
+ case 1:
+- sprintf(infostring, txt_konstruktor_Moveable);
++ sprintf(infostring, "%s", txt_konstruktor_Moveable);
+ break;
+ case 2:
+- sprintf(infostring, txt_konstruktor_Rotating);
++ sprintf(infostring, "%s", txt_konstruktor_Rotating);
+ break;
+ case 3:
+- sprintf(infostring, txt_konstruktor_Moveable_Rotating);
++ sprintf(infostring, "%s", txt_konstruktor_Moveable_Rotating);
+ break;
+ }
+ inforedraw = 1;
+ break;
+ case K_INSERT:
+ if (lastselected == cnt) {
+- sprintf(infostring, txt_konstruktor_Level_created);
++ sprintf(infostring, "%s", txt_konstruktor_Level_created);
+ insert = 1;
+ /*
+ * Clear board
+@@ -1154,7 +1154,7 @@
+ cnt = -1;
+
+ } else {
+- sprintf(infostring,
++ sprintf(infostring, "%s",
+ txt_konstruktor_New_level_select_again_to_create);
+ lastclick = 50;
+ }
+@@ -1165,7 +1165,7 @@
+ * Clear board
+ */
+ if (lastselected == cnt) {
+- sprintf(infostring, txt_konstruktor_Level_cleared);
++ sprintf(infostring, "%s", txt_konstruktor_Level_cleared);
+ robbo.screws = 0;
+ robbo.keys = 0;
+ robbo.bullets = 0; /* Thunor: I added this as it was missing */
+@@ -1184,7 +1184,7 @@
+ clear_entire_board();
+ cnt = -1;
+ } else {
+- sprintf(infostring,
++ sprintf(infostring, "%s",
+ txt_konstruktor_Clear_level_select_again_to_clear);
+ lastclick = 50;
+ }
+@@ -1193,9 +1193,9 @@
+ case K_SAVE:
+ if (lastselected == cnt) {
+ if (insert == 1)
+- sprintf(infostring, txt_konstruktor_New_level_appended_to_pack);
++ sprintf(infostring, "%s", txt_konstruktor_New_level_appended_to_pack);
+ else
+- sprintf(infostring, txt_konstruktor_Changes_saved);
++ sprintf(infostring, "%s", txt_konstruktor_Changes_saved);
+ cnt = -1;
+
+ k_save_map();
+@@ -1206,10 +1206,10 @@
+ lastclick = 50;
+
+ if (insert == 1)
+- sprintf(infostring,
++ sprintf(infostring, "%s",
+ txt_konstruktor_Save_select_again_to_save_new_level);
+ else
+- sprintf(infostring,
++ sprintf(infostring, "%s",
+ txt_konstruktor_Save_select_again_to_save_changes);
+ }
+ inforedraw = 1;
+@@ -1275,7 +1275,7 @@
+ konstruktor_end();
+ cnt = -1;
+ } else {
+- sprintf(infostring,
++ sprintf(infostring, "%s",
+ txt_konstruktor_Exit_designer_select_again_to_exit);
+ lastclick = 50; /* very long click is used as
+ * another click */
diff --git a/debian/patches/series b/debian/patches/series
index 5169081..fc50065 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
+format-security.patch
Makefile.diff
--
logic game ported from ATARI XE/XL
More information about the Pkg-games-commits
mailing list