Hi,

Currently, when linking your source against libcheck, you get an
annoying warning about unsafe usage of tempnam(3).  The following
patch fixes that, by commenting out a block of code which, according
to comments above it, is supposed to solve issues with Windows, and
shouldn't be relevant in OpenBSD case.


Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/check/Makefile,v
retrieving revision 1.12
diff -u -p -u -r1.12 Makefile
--- Makefile    29 Sep 2014 19:58:04 -0000      1.12
+++ Makefile    21 Nov 2014 00:26:44 -0000
@@ -3,6 +3,7 @@
 COMMENT =      unit test framework for C programs
 
 DISTNAME =     check-0.9.14
+REVISION =     0
 SHARED_LIBS +=  check                3.0      # unknown
 
 CATEGORIES =   devel
Index: patches/patch-src_check_msg_c
===================================================================
RCS file: patches/patch-src_check_msg_c
diff -N patches/patch-src_check_msg_c
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-src_check_msg_c       20 Nov 2014 23:50:20 -0000
@@ -0,0 +1,30 @@
+--- src/check_msg.c.orig       Fri Nov 21 01:47:21 2014
++++ src/check_msg.c    Fri Nov 21 01:50:16 2014
+@@ -232,10 +232,12 @@
+     /* and finally, the "b" from "w+b" is ignored on OS X, not sure about 
WIN32 */
+ 
+     file = tmpfile();
++/*
+     if(file == NULL)
+     {
+         char *tmp = getenv("TEMP");
+         char *tmp_file = tempnam(tmp, "check_");
++*/
+ 
+         /*
+          * Note, tempnam is not enough to get a unique name. Between
+@@ -247,12 +249,14 @@
+          * we append the pid to the file. The pid should be unique on the
+          * system.
+          */
++/*
+         char *uniq_tmp_file = ck_strdup_printf("%s.%d", tmp_file, getpid());
+ 
+         file = fopen(uniq_tmp_file, "w+b");
+         *name = uniq_tmp_file;
+         free(tmp_file);
+     }
++*/
+     return file;
+ }
+ 

Reply via email to