On 2012/03/06 03:11, Brad Smith wrote:
> On 06/03/12 2:49 AM, David Coppa wrote:
> >On Tue, Mar 6, 2012 at 3:38 AM, Piotr Sikora<piotr.sik...@frickle.com>  
> >wrote:
> >
> >>Attached patch fixes this, but to be honest I would consider completely
> >>dropping our "fix" from the port .
> >
> >me too would prefer the latter.
> >Other opinions?
> 
> Drop the patches.

OKs?

Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/lua/Makefile,v
retrieving revision 1.43
diff -u -p -r1.43 Makefile
--- Makefile    4 Dec 2011 21:12:19 -0000       1.43
+++ Makefile    6 Mar 2012 10:05:37 -0000
@@ -3,7 +3,7 @@
 COMMENT=       powerful, light-weight programming language
 
 DISTNAME=      lua-5.1.4
-REVISION=      3
+REVISION=      4
 CATEGORIES=    lang
 
 MASTER_SITES=  http://www.lua.org/ftp/ \
Index: patches/patch-src_lobject_c
===================================================================
RCS file: patches/patch-src_lobject_c
diff -N patches/patch-src_lobject_c
--- patches/patch-src_lobject_c 29 Oct 2007 20:30:32 -0000      1.3
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,65 +0,0 @@
-$OpenBSD: patch-src_lobject_c,v 1.3 2007/10/29 20:30:32 espie Exp $
---- src/lobject.c.orig Fri Feb 10 18:43:52 2006
-+++ src/lobject.c      Mon Oct 29 21:26:20 2007
-@@ -142,7 +142,7 @@ const char *luaO_pushvfstring (lua_State *L, const cha
-       }
-       case 'p': {
-         char buff[4*sizeof(void *) + 8]; /* should be enough space for a `%p' 
*/
--        sprintf(buff, "%p", va_arg(argp, void *));
-+        snprintf(buff, sizeof(buff), "%p", va_arg(argp, void *));
-         pushstr(L, buff);
-         break;
-       }
-@@ -180,35 +180,33 @@ const char *luaO_pushfstring (lua_State *L, const char
- 
- 
- void luaO_chunkid (char *out, const char *source, size_t bufflen) {
--  if (*source == '=') {
--    strncpy(out, source+1, bufflen);  /* remove first char */
--    out[bufflen-1] = '\0';  /* ensures null termination */
--  }
-+  if (*source == '=')
-+    strlcpy(out, source+1, bufflen);  /* remove first char */
-   else {  /* out = "source", or "...source" */
-     if (*source == '@') {
--      size_t l;
-+      size_t l, m;
-       source++;  /* skip the `@' */
--      bufflen -= sizeof(" '...' ");
-       l = strlen(source);
--      strcpy(out, "");
--      if (l > bufflen) {
--        source += (l-bufflen);  /* get last part of file name */
--        strcat(out, "...");
-+      m = bufflen - sizeof(" '...' ");
-+      strlcpy(out, "", bufflen);
-+      if (l > m) {
-+        source += (l-m);  /* get last part of file name */
-+      strlcat(out, "...", bufflen);
-       }
--      strcat(out, source);
-+      strlcat(out, source, bufflen);
-     }
-     else {  /* out = [string "string"] */
--      size_t len = strcspn(source, "\n\r");  /* stop at first newline */
--      bufflen -= sizeof(" [string \"...\"] ");
--      if (len > bufflen) len = bufflen;
--      strcpy(out, "[string \"");
-+      size_t pos = strcspn(source, "\n\r");  /* stop at first newline */
-+      size_t len = bufflen - sizeof(" [string \"...\"] ");
-+      if (pos > len) pos = len;
-+      strlcpy(out, "[string \"", bufflen);
-       if (source[len] != '\0') {  /* must truncate? */
--        strncat(out, source, len);
--        strcat(out, "...");
-+        strlcat(out, source, len);
-+        strlcat(out, "...", bufflen);
-       }
-       else
--        strcat(out, source);
--      strcat(out, "\"]");
-+        strlcat(out, source, bufflen);
-+      strlcat(out, "\"]", bufflen);
-     }
-   }
- }
Index: patches/patch-src_lstrlib_c
===================================================================
RCS file: patches/patch-src_lstrlib_c
diff -N patches/patch-src_lstrlib_c
--- patches/patch-src_lstrlib_c 25 Aug 2011 07:02:42 -0000      1.4
+++ /dev/null   1 Jan 1970 00:00:00 -0000
@@ -1,55 +0,0 @@
-$OpenBSD: patch-src_lstrlib_c,v 1.4 2011/08/25 07:02:42 jasper Exp $
---- src/lstrlib.c.orig Wed Aug 24 22:24:32 2011
-+++ src/lstrlib.c      Wed Aug 24 22:24:32 2011
-@@ -746,10 +746,9 @@ static const char *scanformat (lua_State *L, const cha
- 
- static void addintlen (char *form) {
-   size_t l = strlen(form);
--  char spec = form[l - 1];
--  strcpy(form + l - 1, LUA_INTFRMLEN);
--  form[l + sizeof(LUA_INTFRMLEN) - 2] = spec;
--  form[l + sizeof(LUA_INTFRMLEN) - 1] = '\0';
-+  char spec[3] = { 'l', form[l - 1], '\0' };
-+  form[l - 1] = '\0';
-+  strlcat(form, spec, MAX_FORMAT);
- }
- 
- 
-@@ -774,22 +773,24 @@ static int str_format (lua_State *L) {
-       strfrmt = scanformat(L, strfrmt, form);
-       switch (*strfrmt++) {
-         case 'c': {
--          sprintf(buff, form, (int)luaL_checknumber(L, arg));
-+          snprintf(buff, sizeof(buff), form, (int)luaL_checknumber(L, arg));
-           break;
-         }
-         case 'd':  case 'i': {
-           addintlen(form);
--          sprintf(buff, form, (LUA_INTFRM_T)luaL_checknumber(L, arg));
-+          snprintf(buff, sizeof(buff), form,
-+          (LUA_INTFRM_T)luaL_checknumber(L, arg));
-           break;
-         }
-         case 'o':  case 'u':  case 'x':  case 'X': {
-           addintlen(form);
--          sprintf(buff, form, (unsigned LUA_INTFRM_T)luaL_checknumber(L, 
arg));
-+          snprintf(buff, sizeof(buff), form,
-+          (unsigned LUA_INTFRM_T)luaL_checknumber(L, arg));
-           break;
-         }
-         case 'e':  case 'E': case 'f':
-         case 'g': case 'G': {
--          sprintf(buff, form, (double)luaL_checknumber(L, arg));
-+          snprintf(buff, sizeof(buff), form, (double)luaL_checknumber(L, 
arg));
-           break;
-         }
-         case 'q': {
-@@ -807,7 +808,7 @@ static int str_format (lua_State *L) {
-             continue;  /* skip the `addsize' at the end */
-           }
-           else {
--            sprintf(buff, form, s);
-+            snprintf(buff, sizeof(buff), form, s);
-             break;
-           }
-         }
Index: patches/patch-src_luaconf_h
===================================================================
RCS file: /cvs/ports/lang/lua/patches/patch-src_luaconf_h,v
retrieving revision 1.4
diff -u -p -r1.4 patch-src_luaconf_h
--- patches/patch-src_luaconf_h 19 Apr 2008 17:59:32 -0000      1.4
+++ patches/patch-src_luaconf_h 6 Mar 2012 10:05:37 -0000
@@ -10,21 +10,3 @@ $OpenBSD: patch-src_luaconf_h,v 1.4 2008
  #define LUA_USE_POSIX
  #define LUA_USE_DLOPEN                /* needs an extra library: -ldl */
  #define LUA_USE_READLINE      /* needs some extra libraries */
-@@ -520,7 +520,7 @@
- */
- #define LUA_NUMBER_SCAN               "%lf"
- #define LUA_NUMBER_FMT                "%.14g"
--#define lua_number2str(s,n)   sprintf((s), LUA_NUMBER_FMT, (n))
-+#define lua_number2str(s,n)   snprintf((s), sizeof((s)), LUA_NUMBER_FMT, (n))
- #define LUAI_MAXNUMBER2STR    32 /* 16 digits, sign, point, and \0 */
- #define lua_str2number(s,p)   strtod((s), (p))
- 
-@@ -647,7 +647,7 @@ union luai_Cast { double l_d; long l_l; };
- #include <unistd.h>
- #define LUA_TMPNAMBUFSIZE     32
- #define lua_tmpnam(b,e)       { \
--      strcpy(b, "/tmp/lua_XXXXXX"); \
-+      strlcpy(b, "/tmp/lua_XXXXXX", sizeof(b)); \
-       e = mkstemp(b); \
-       if (e != -1) close(e); \
-       e = (e == -1); }

Reply via email to