[tecnoballz] 31/56: Harden the build unless the "nohardening" option is specified.

Markus Koschany apo-guest at moszumanska.debian.org
Fri Jan 30 12:12:55 UTC 2015


This is an automated email from the git hooks/post-receive script.

apo-guest pushed a commit to branch master
in repository tecnoballz.

commit b608ed10124eab94faa31e3f7d10a804d14036ee
Author: Peter Pentchev <roam at ringlet.net>
Date:   Fri Feb 18 14:03:58 2011 +0000

    Harden the build unless the "nohardening" option is specified.
---
 debian/changelog                  |  1 +
 debian/control                    |  1 +
 debian/patches/032_warnings.patch | 75 ++++++++++++++++++++++++++++++++++++++-
 debian/rules                      |  6 ++++
 4 files changed, 82 insertions(+), 1 deletion(-)

diff --git a/debian/changelog b/debian/changelog
index 3d2619e..c982e7a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -15,6 +15,7 @@ tecnoballz (0.92-4) UNRELEASED; urgency=low
     build option is specified.
   * Add the 032_warnings patch to fix a slew of compiler warnings.
   * Bump Standards-Version to 3.9.1 with no changes.
+  * Harden the build unless the "nohardening" build option is specified.
 
  -- Peter Pentchev <roam at ringlet.net>  Thu, 17 Feb 2011 10:35:58 +0200
 
diff --git a/debian/control b/debian/control
index 122dcd5..6adba9c 100644
--- a/debian/control
+++ b/debian/control
@@ -4,6 +4,7 @@ Priority: optional
 Maintainer: Debian Games Team <pkg-games-devel at lists.alioth.debian.org>
 Uploaders: Barry deFreese <bdefreese at debian.org>
 Build-Depends: debhelper (>= 8), autoconf, automake, dpkg-dev (>= 1.15.7~),
+               hardening-includes,
                libsdl-mixer1.2-dev, 
                libmikmod2-dev, libxext-dev, libvorbis-dev, 
                libogg-dev, libsmpeg-dev, libxxf86dga-dev, 
diff --git a/debian/patches/032_warnings.patch b/debian/patches/032_warnings.patch
index c227529..cb995a5 100644
--- a/debian/patches/032_warnings.patch
+++ b/debian/patches/032_warnings.patch
@@ -4,6 +4,7 @@ Description: Fix some compiler warnings.
  - add some parentheses to disambiguate operations' priority
  - initialize a loop index to avoid an array[-1] access
  - add some parentheses to fix a comparison's logic
+ - check for write(2) errors
 Forwarded: no
 Author: Peter Pentchev <roam at ringlet.net>
 Last-Update: 2011-02-17
@@ -68,6 +69,42 @@ Last-Update: 2011-02-17
  {
    /* locate a file under one of the data directories */
    char *pname = locate_data_file (fname);
+@@ -759,6 +759,9 @@
+ void
+ handler_resources::save_high_score_file (char *buffer, Uint32 size)
+ {
++  size_t left;
++  ssize_t n;
++
+ #ifdef WIN32
+   /* set umask so that files are group-writable */
+   _umask (0002);
+@@ -772,11 +775,23 @@
+                "handler_resources::saveScores(): file:%s / error:%s\n",
+                fnamescore, strerror (errno));
+     }
++  left = size;
++  while (left > 0)
++    {
+ #ifdef WIN32
+-  _write (fhand, buffer, size);
++      n = _write (fhand, buffer + size - left, left);
+ #else
+-  write (fhand, buffer, size);
++      n = write (fhand, buffer + size - left, left);
+ #endif
++      if (n == -1)
++	{
++	  fprintf (stderr, "handler_resources::saveScores(): file: %s / error:%s\n",
++	      fnamescore, strerror(errno));
++	  close (fhand);
++	  return;
++	}
++      left -= n;
++  }
+   if (close (fhand) == -1)
+     {
+       fprintf (stderr,
 --- a/include/handler_resources.h
 +++ b/include/handler_resources.h
 @@ -42,7 +42,7 @@
@@ -143,7 +180,16 @@ Last-Update: 2011-02-17
    gem_id = h;
 --- a/src/supervisor_map_editor.cc
 +++ b/src/supervisor_map_editor.cc
-@@ -832,7 +832,7 @@
+@@ -774,6 +774,8 @@
+ //map_size = map_size * 2;
+   Uint32
+   bytes_size = map_size * sizeof (Uint16);
++  size_t left;
++  ssize_t n;
+ 
+   /*
+     Uint16 *map2 = new Uint16[map_size];
+@@ -832,7 +834,7 @@
  #else
    umask (0002);
  #endif
@@ -152,6 +198,33 @@ Last-Update: 2011-02-17
    filename = "edmap.data";
    Sint32
    handle = open (filename, O_WRONLY | O_CREAT, 00666);
+@@ -843,11 +845,24 @@
+       delete[]filedata;
+       return false;
+     }
++  left = bytes_size;
++  while (left > 0)
++    {
+ #ifdef WIN32
+-  _write (handle, filedata, bytes_size);
++      n = _write (handle, filedata + bytes_size - left, left);
+ #else
+-  write (handle, filedata, bytes_size);
++      n = write (handle, filedata + bytes_size - left, left);
+ #endif
++      if (n == -1)
++	{
++	  std::cerr << "supervisor_map_editor::save_tilesmap() file " <<
++	    filename << "; error " << strerror (errno) << std::endl;
++	  close (handle);
++	  delete[]filedata;
++	  return false;
++	}
++      left -= n;
++    }
+   if (close (handle) == -1)
+     {
+       std::cerr << "supervisor_map_editor::save_tilesmap() file " <<
 --- a/include/supervisor_shop.h
 +++ b/include/supervisor_shop.h
 @@ -164,7 +164,7 @@
diff --git a/debian/rules b/debian/rules
index ddb5a60..03d77bc 100755
--- a/debian/rules
+++ b/debian/rules
@@ -14,6 +14,12 @@ ifeq (,$(filter nowerror,$(DEB_BUILD_OPTIONS)))
 	CXXFLAGS+=	-Werror
 endif
 
+include /usr/share/hardening-includes/hardening.make
+ifeq (,$(filter nohardening,$(DEB_BUILD_OPTIONS)))
+CXXFLAGS+=	$(HARDENING_CFLAGS)
+LDFLAGS+=	$(HARDENING_LDFLAGS)
+endif
+
 export CPPFLAGS CXXFLAGS LDFLAGS
 
 override_dh_auto_configure:

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/tecnoballz.git



More information about the Pkg-games-commits mailing list