[Scummvm-git-logs] scummvm master -> fa387821b3c999d6703c71e6377f1e70994e725b
sev-
noreply at scummvm.org
Fri Dec 16 10:09:00 UTC 2022
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
8bf6aec613 COMMON: LUA: Replace sprintf -> snprintf
fa387821b3 GRIM: LUA: Replace sprintf -> snprintf
Commit: 8bf6aec613dbe10b19823c2a5b13656f5f00107f
https://github.com/scummvm/scummvm/commit/8bf6aec613dbe10b19823c2a5b13656f5f00107f
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-12-16T10:54:49+01:00
Commit Message:
COMMON: LUA: Replace sprintf -> snprintf
Changed paths:
common/lua/liolib.cpp
common/lua/llex.cpp
common/lua/lobject.cpp
common/lua/lstrlib.cpp
common/lua/luaconf.h
diff --git a/common/lua/liolib.cpp b/common/lua/liolib.cpp
index f0bf5cbff9f..34db0376ba3 100644
--- a/common/lua/liolib.cpp
+++ b/common/lua/liolib.cpp
@@ -441,8 +441,8 @@ static int g_write (lua_State *L, Lua::LuaFileProxy *f, int arg) {
if (lua_type(L, arg) == LUA_TNUMBER) {
// optimization: could be done exactly as for strings
if (status) {
- char buffer[22];
- sprintf(buffer, LUA_NUMBER_FMT, lua_tonumber(L, arg));
+ char buffer[22];
+ snprintf(buffer, 22, LUA_NUMBER_FMT, lua_tonumber(L, arg));
status = f->write(buffer, strlen(buffer)) == strlen(buffer);
}
}
diff --git a/common/lua/llex.cpp b/common/lua/llex.cpp
index 306442eb562..beaee300eab 100644
--- a/common/lua/llex.cpp
+++ b/common/lua/llex.cpp
@@ -183,7 +183,7 @@ static void trydecpoint (LexState *ls, SemInfo *seminfo) {
char old = ls->decpoint;
char buf[5];
int i;
- sprintf(buf, "%.1f", 1.0);
+ snprintf(buf, 5, "%.1f", 1.0);
ls->decpoint = '.';
for (i = 0; buf[i]; i++) {
if (!Common::isSpace(buf[i]) && !Common::isDigit(buf[i])) {
diff --git a/common/lua/lobject.cpp b/common/lua/lobject.cpp
index c792201876b..cd35e9fa572 100644
--- a/common/lua/lobject.cpp
+++ b/common/lua/lobject.cpp
@@ -142,7 +142,7 @@ const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp) {
}
case 'p': {
char buff[4*sizeof(void *) + 8]; /* should be enough space for a `%p' */
- sprintf(buff, "%p", va_arg(argp, void *));
+ snprintf(buff, 4*sizeof(void *) + 8, "%p", va_arg(argp, void *));
pushstr(L, buff);
break;
}
diff --git a/common/lua/lstrlib.cpp b/common/lua/lstrlib.cpp
index 6d323abddf5..9d43ba43dab 100644
--- a/common/lua/lstrlib.cpp
+++ b/common/lua/lstrlib.cpp
@@ -771,22 +771,22 @@ 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, MAX_ITEM, 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, MAX_ITEM, 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, MAX_ITEM, 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, MAX_ITEM, form, (double)luaL_checknumber(L, arg));
break;
}
case 'q': {
@@ -803,7 +803,7 @@ static int str_format (lua_State *L) {
luaL_addvalue(&b);
continue; /* skip the `addsize' at the end */
}
- sprintf(buff, form, s);
+ snprintf(buff, MAX_ITEM, form, s);
break;
}
default: { /* also treat cases `pnLlh' */
diff --git a/common/lua/luaconf.h b/common/lua/luaconf.h
index bc72e2968d5..d5048e46384 100644
--- a/common/lua/luaconf.h
+++ b/common/lua/luaconf.h
@@ -519,7 +519,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), LUAI_MAXNUMBER2STR, LUA_NUMBER_FMT, (n))
#define LUAI_MAXNUMBER2STR 32 /* 16 digits, sign, point, and \0 */
#define lua_str2number(s,p) strtod((s), (p))
Commit: fa387821b3c999d6703c71e6377f1e70994e725b
https://github.com/scummvm/scummvm/commit/fa387821b3c999d6703c71e6377f1e70994e725b
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2022-12-16T11:06:08+01:00
Commit Message:
GRIM: LUA: Replace sprintf -> snprintf
Changed paths:
engines/grim/lua/lauxlib.cpp
engines/grim/lua/lbuiltin.cpp
engines/grim/lua/ldo.cpp
engines/grim/lua/liolib.cpp
engines/grim/lua/lstrlib.cpp
engines/grim/lua/lvm.cpp
diff --git a/engines/grim/lua/lauxlib.cpp b/engines/grim/lua/lauxlib.cpp
index bafad6eed85..819646b21a1 100644
--- a/engines/grim/lua/lauxlib.cpp
+++ b/engines/grim/lua/lauxlib.cpp
@@ -99,7 +99,7 @@ void luaL_verror(const char *fmt, ...) {
va_list argp;
va_start(argp, fmt);
- vsprintf(buff, fmt, argp);
+ vsnprintf(buff, 100, fmt, argp);
va_end(argp);
lua_error(buff);
}
diff --git a/engines/grim/lua/lbuiltin.cpp b/engines/grim/lua/lbuiltin.cpp
index f64e5e60a9f..4288df81320 100644
--- a/engines/grim/lua/lbuiltin.cpp
+++ b/engines/grim/lua/lbuiltin.cpp
@@ -125,17 +125,17 @@ static const char *to_string(lua_Object obj) {
return lua_getstring(obj);
case LUA_T_ARRAY:
{
- sprintf(buff, "table: %p", (void *)o->value.a);
+ snprintf(buff, 30, "table: %p", (void *)o->value.a);
return buff;
}
case LUA_T_CLOSURE:
{
- sprintf(buff, "function: %p", (void *)o->value.cl);
+ snprintf(buff, 30, "function: %p", (void *)o->value.cl);
return buff;
}
case LUA_T_PROTO:
{
- sprintf(buff, "function: %p", (void *)o->value.tf);
+ snprintf(buff, 30, "function: %p", (void *)o->value.tf);
return buff;
}
case LUA_T_CPROTO:
@@ -149,17 +149,17 @@ static const char *to_string(lua_Object obj) {
ptrUnion.funcPtr = o->value.f;
- sprintf(buff, "function: %p", ptrUnion.objPtr);
+ snprintf(buff, 30, "function: %p", ptrUnion.objPtr);
return buff;
}
case LUA_T_USERDATA:
{
- sprintf(buff, "userdata: %08X", o->value.ud.id);
+ snprintf(buff, 30, "userdata: %08X", o->value.ud.id);
return buff;
}
case LUA_T_TASK:
{
- sprintf(buff, "task: %d", (int)o->value.n);
+ snprintf(buff, 30, "task: %d", (int)o->value.n);
return buff;
}
case LUA_T_NIL:
diff --git a/engines/grim/lua/ldo.cpp b/engines/grim/lua/ldo.cpp
index 617a42f31b5..1d2a309bfd2 100644
--- a/engines/grim/lua/ldo.cpp
+++ b/engines/grim/lua/ldo.cpp
@@ -416,12 +416,12 @@ void luaD_gcIM(TObject *o) {
#define SIZE_PREF 20 // size of string prefix to appear in error messages
#define SSIZE_PREF "20"
-static void build_name (const char *str, char *name) {
+static void build_name (const char *str, char *name, int size) {
if (str == nullptr || *str == ID_CHUNK)
strcpy(name, "(buffer)");
else {
char *temp;
- sprintf(name, "(dostring) >> \"%." SSIZE_PREF "s\"", str);
+ snprintf(name, size, "(dostring) >> \"%." SSIZE_PREF "s\"", str);
temp = strchr(name, '\n');
if (temp) { // end string after first line
*temp = '"';
@@ -439,7 +439,7 @@ int32 lua_dobuffer(const char *buff, int32 size, const char *name) {
ZIO z;
if (!name) {
- build_name(buff, newname);
+ build_name(buff, newname, SIZE_PREF + 25);
name = newname;
}
luaZ_mopen(&z, buff, size, name);
diff --git a/engines/grim/lua/liolib.cpp b/engines/grim/lua/liolib.cpp
index 4cd26b8f614..434190bc2c2 100644
--- a/engines/grim/lua/liolib.cpp
+++ b/engines/grim/lua/liolib.cpp
@@ -338,7 +338,7 @@ static void io_date() {
char b[BUFSIZ];
g_system->getTimeAndDate(t);
- sprintf(b, "%02d.%02d.%d %02d:%02d.%02d", t.tm_mday, t.tm_mon + 1, 1900 + t.tm_year, t.tm_hour, t.tm_min, t.tm_sec);
+ snprintf(b, BUFSIZ, "%02d.%02d.%d %02d:%02d.%02d", t.tm_mday, t.tm_mon + 1, 1900 + t.tm_year, t.tm_hour, t.tm_min, t.tm_sec);
lua_pushstring(b);
}
@@ -357,44 +357,44 @@ static void lua_printstack() {
const char *filename;
int32 linedefined;
lua_funcinfo(func, &filename, &linedefined);
- sprintf(buf, (level == 2) ? "Active Stack:\n\t" : "\t");
+ snprintf(buf, 256, (level == 2) ? "Active Stack:\n\t" : "\t");
g_stderr->write(buf, strlen(buf));
switch (*lua_getobjname(func, &name)) {
case 'g':
- sprintf(buf, "function %s", name);
+ snprintf(buf, 256, "function %s", name);
break;
case 't':
- sprintf(buf, "`%s' tag method", name);
+ snprintf(buf, 256, "`%s' tag method", name);
break;
default:
{
if (linedefined == 0)
- sprintf(buf, "main of %s", filename);
+ snprintf(buf, 256, "main of %s", filename);
else if (linedefined < 0)
- sprintf(buf, "%s", filename);
+ snprintf(buf, 256, "%s", filename);
else
- sprintf(buf, "function (%s:%d)", filename, (int)linedefined);
+ snprintf(buf, 256, "function (%s:%d)", filename, (int)linedefined);
filename = nullptr;
}
}
g_stderr->write(buf, strlen(buf));
if ((currentline = lua_currentline(func)) > 0) {
- sprintf(buf, " at line %d", (int)currentline);
+ snprintf(buf, 256, " at line %d", (int)currentline);
g_stderr->write(buf, strlen(buf));
}
if (filename) {
- sprintf(buf, " [in file %s]", filename);
+ snprintf(buf, 256, " [in file %s]", filename);
g_stderr->write(buf, strlen(buf));
}
- sprintf(buf, "\n");
+ snprintf(buf, 256, "\n");
g_stderr->write(buf, strlen(buf));
}
}
static void errorfb() {
char buf[256];
- sprintf(buf, "lua: %s\n", lua_getstring(lua_getparam(1)));
+ snprintf(buf, 256, "lua: %s\n", lua_getstring(lua_getparam(1)));
g_stderr->write(buf, strlen(buf));
lua_printstack();
}
diff --git a/engines/grim/lua/lstrlib.cpp b/engines/grim/lua/lstrlib.cpp
index eee8cbff0b7..e4302f1cd9a 100644
--- a/engines/grim/lua/lstrlib.cpp
+++ b/engines/grim/lua/lstrlib.cpp
@@ -454,7 +454,7 @@ static void str_format() {
{
const char *s = luaL_check_string(arg);
buff = luaL_openspace(strlen(s));
- sprintf(buff, form, s);
+ snprintf(buff, strlen(s), form, s);
break;
}
case 'c':
@@ -464,14 +464,14 @@ static void str_format() {
case 'u':
case 'x':
case 'X':
- sprintf(buff, form, (int)luaL_check_number(arg));
+ snprintf(buff, 1000, form, (int)luaL_check_number(arg));
break;
case 'e':
case 'E':
case 'f':
case 'g':
case 'G':
- sprintf(buff, form, luaL_check_number(arg));
+ snprintf(buff, 1000, form, luaL_check_number(arg));
break;
default: // also treat cases 'pnLlh'
lua_error("invalid option in `format'");
diff --git a/engines/grim/lua/lvm.cpp b/engines/grim/lua/lvm.cpp
index 3e77db4dc17..c5eb2afa9ca 100644
--- a/engines/grim/lua/lvm.cpp
+++ b/engines/grim/lua/lvm.cpp
@@ -60,9 +60,9 @@ int32 luaV_tostring (TObject *obj) { // LUA_NUMBER
float f = nvalue(obj);
int32 i;
if ((float)(-MAX_INT) <= f && f <= (float)MAX_INT && (float)(i = (int32)f) == f)
- sprintf (s, "%d", (int)i);
+ snprintf (s, 60, "%d", (int)i);
else
- sprintf (s, "%g", (double)nvalue(obj));
+ snprintf (s, 60, "%g", (double)nvalue(obj));
tsvalue(obj) = luaS_new(s);
ttype(obj) = LUA_T_STRING;
return 0;
More information about the Scummvm-git-logs
mailing list