[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: two invalid pointer conversions
- From: Ondřej Surý <ondrej@...>
- Date: Mon, 19 Dec 2016 17:10:22 +0100
Hi,
while updating lua5.3 for next Debian stable and I've encountered two
invalid pointer conversions that are triggered by more strict build
defaults in Debian (and in Debian package). I have attached patch to fix
those issues.
Cheers,
--
Ondřej Surý <ondrej@sury.org>
Knot DNS (https://www.knot-dns.cz/) – a high-performance DNS server
Knot Resolver (https://www.knot-resolver.cz/) – secure, privacy-aware,
fast DNS(SEC) resolver
Vše pro chleba (https://vseprochleba.cz) – Mouky ze mlýna a potřeby pro
pečení chleba všeho druhu
From: =?utf-8?q?Ond=C5=99ej_Sur=C3=BD?= <ondrej@sury.org>
Date: Mon, 19 Dec 2016 16:16:26 +0100
Subject: Fix invalid pointer conversions
---
src/lobject.c | 2 +-
src/lstrlib.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/lobject.c b/src/lobject.c
index a44b385..9fe441f 100644
--- a/src/lobject.c
+++ b/src/lobject.c
@@ -280,7 +280,7 @@ static const char *l_str2d (const char *s, lua_Number *result) {
endptr = l_str2dloc(s, result, mode); /* try to convert */
if (endptr == NULL) { /* failed? may be a different locale */
char buff[L_MAXLENNUM + 1];
- char *pdot = strchr(s, '.');
+ const char *pdot = strchr(s, '.');
if (strlen(s) > L_MAXLENNUM || pdot == NULL)
return NULL; /* string too long or no dot; fail */
strcpy(buff, s); /* copy string to buffer */
diff --git a/src/lstrlib.c b/src/lstrlib.c
index 12264f8..0676cff 100644
--- a/src/lstrlib.c
+++ b/src/lstrlib.c
@@ -933,7 +933,7 @@ static void addquoted (luaL_Buffer *b, const char *s, size_t len) {
static void checkdp (char *buff, int nb) {
if (memchr(buff, '.', nb) == NULL) { /* no dot? */
char point = lua_getlocaledecpoint(); /* try locale point */
- char *ppoint = memchr(buff, point, nb);
+ char *ppoint = (char *)memchr(buff, point, nb);
if (ppoint) *ppoint = '.'; /* change it to a dot */
}
}