summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2018-05-11 16:01:08 +0200
committerGitHub <noreply@github.com>2018-05-11 16:01:08 +0200
commit8015f2118c4dca8bbfecb0c3458a05e0d8d3630f (patch)
tree733497bf26c4ed9fd209f7ce309a281e862da44f
parent4a055d7cd4c56c868b9fd03a96abc495f76ab68e (diff)
parent6f6966c9dc397c9dddbf51aeb91f0e27c622ab83 (diff)
Merge pull request #5842 from vespa-engine/balder/gcc-8-prep-1
Balder/gcc 8 prep 1
-rw-r--r--fastos/src/tests/filetest.cpp4
-rw-r--r--fastos/src/tests/tests.h42
-rw-r--r--fastos/src/vespa/fastos/timestamp.cpp2
-rw-r--r--vespalib/src/tests/exception_classes/exception_classes_test.cpp4
-rw-r--r--vespalib/src/tests/io/fileutil/fileutiltest.cpp2
-rw-r--r--vespalib/src/tests/stllike/uniq_by_sort_map_hash.cpp5
-rw-r--r--vespalib/src/tests/websocket/websocket_test.cpp2
-rw-r--r--vespalog/src/vespa/log/log.cpp2
-rw-r--r--vespalog/src/vespa/log/log.h1
-rw-r--r--vespamalloc/src/vespamalloc/malloc/memorywatcher.h9
-rw-r--r--vespamalloc/src/vespamalloc/util/osmem.cpp2
-rw-r--r--vespamalloc/src/vespamalloc/util/osmem.h2
12 files changed, 41 insertions, 36 deletions
diff --git a/fastos/src/tests/filetest.cpp b/fastos/src/tests/filetest.cpp
index e063ccbc89d..43051dd1667 100644
--- a/fastos/src/tests/filetest.cpp
+++ b/fastos/src/tests/filetest.cpp
@@ -59,8 +59,8 @@ public:
char file3[1024];
char file4[1024];
char file5[1024];
- char subdir1[1024];
- char subdir2[1024];
+ char subdir1[512];
+ char subdir2[512];
sprintf(file1, "%s%sfile1", dirName, FastOS_File::GetPathSeparator());
sprintf(file2, "%s%sfile2", dirName, FastOS_File::GetPathSeparator());
sprintf(file3, "%s%sfile2", dirName, FastOS_File::GetPathSeparator());
diff --git a/fastos/src/tests/tests.h b/fastos/src/tests/tests.h
index 62a873f8a54..71fd32dad2d 100644
--- a/fastos/src/tests/tests.h
+++ b/fastos/src/tests/tests.h
@@ -43,7 +43,7 @@ public:
bool Progress (bool result, const char *str)
{
char string[MAX_STR_LEN];
- sprintf(string, "%s: %s\n",
+ snprintf(string, sizeof(string), "%s: %s\n",
result ? okString : failString, str);
PrintProgress(string);
if (! result) { _allOkFlag = false; }
@@ -52,71 +52,71 @@ public:
bool Progress (bool result, const char *str, int d1)
{
- char string[MAX_STR_LEN];
- sprintf(string, str, d1);
+ char string[MAX_STR_LEN-100];
+ snprintf(string, sizeof(string), str, d1);
return Progress(result, string);
}
bool Progress (bool result, const char *str, int d1, int d2)
{
- char string[MAX_STR_LEN];
- sprintf(string, str, d1, d2);
+ char string[MAX_STR_LEN-100];
+ snprintf(string, sizeof(string), str, d1, d2);
return Progress(result, string);
}
bool Progress (bool result, const char *str, const char *s1)
{
- char string[MAX_STR_LEN];
- sprintf(string, str, s1);
+ char string[MAX_STR_LEN-100];
+ snprintf(string, sizeof(string), str, s1);
return Progress(result, string);
}
bool Progress (bool result, const char *str, const FastOS_ThreadInterface *s1)
{
- char string[MAX_STR_LEN];
- sprintf(string, str, s1);
+ char string[MAX_STR_LEN-100];
+ snprintf(string, sizeof(string), str, s1);
return Progress(result, string);
}
bool Progress (bool result, const char *str, const FastOS_Socket *s1)
{
- char string[MAX_STR_LEN];
- sprintf(string, str, s1);
+ char string[MAX_STR_LEN-100];
+ snprintf(string, sizeof(string), str, s1);
return Progress(result, string);
}
bool Progress (bool result, const char *str, const char *s1, const char *s2)
{
- char string[MAX_STR_LEN];
- sprintf(string, str, s1, s2);
+ char string[MAX_STR_LEN-100];
+ snprintf(string, sizeof(string), str, s1, s2);
return Progress(result, string);
}
bool Progress (bool result, const char *str, const char *s1, int d1)
{
- char string[MAX_STR_LEN];
- sprintf(string, str, s1, d1);
+ char string[MAX_STR_LEN-100];
+ snprintf(string, sizeof(string), str, s1, d1);
return Progress(result, string);
}
bool Progress (bool result, const char *str, int d1, const char *s1)
{
- char string[MAX_STR_LEN];
- sprintf(string, str, d1, s1);
+ char string[MAX_STR_LEN-100];
+ snprintf(string, sizeof(string), str, d1, s1);
return Progress(result, string);
}
bool ProgressI64 (bool result, const char *str, int64_t val)
{
- char string[MAX_STR_LEN];
- sprintf(string, str, val);
+ char string[MAX_STR_LEN-100];
+ snprintf(string, sizeof(string), str, val);
return Progress(result, string);
}
bool ProgressFloat (bool result, const char *str, float val)
{
- char string[MAX_STR_LEN];
- sprintf(string, str, val);
+ char string[MAX_STR_LEN-100];
+ snprintf(string, sizeof(string), str, val);
return Progress(result, string);
}
diff --git a/fastos/src/vespa/fastos/timestamp.cpp b/fastos/src/vespa/fastos/timestamp.cpp
index f967ea5aade..a662dd32a21 100644
--- a/fastos/src/vespa/fastos/timestamp.cpp
+++ b/fastos/src/vespa/fastos/timestamp.cpp
@@ -23,7 +23,7 @@ TimeStamp::asString(double timeInSeconds)
gmtime_r(&timeStamp, &timeStruct);
char timeString[128];
strftime(timeString, sizeof(timeString), "%F %T", &timeStruct);
- char retval[128];
+ char retval[160];
uint32_t milliSeconds = std::min((uint32_t)(fractpart * 1000.0), 999u);
snprintf(retval, sizeof(retval), "%s.%03u UTC", timeString, milliSeconds);
return std::string(retval);
diff --git a/vespalib/src/tests/exception_classes/exception_classes_test.cpp b/vespalib/src/tests/exception_classes/exception_classes_test.cpp
index cbbdf83e777..c718987aae9 100644
--- a/vespalib/src/tests/exception_classes/exception_classes_test.cpp
+++ b/vespalib/src/tests/exception_classes/exception_classes_test.cpp
@@ -10,7 +10,7 @@ TEST("require that PortListenException retains relevant information") {
try {
error.throwSelf();
ASSERT_TRUE(false);
- } catch(PortListenException e) {
+ } catch(PortListenException & e) {
fprintf(stderr, "what: %s\n", e.what());
EXPECT_EQUAL(80, e.get_port());
EXPECT_EQUAL("HTTP", e.get_protocol());
@@ -24,7 +24,7 @@ TEST("require that PortListenException with cause retains relevant information")
try {
error.throwSelf();
ASSERT_TRUE(false);
- } catch(PortListenException e) {
+ } catch(PortListenException & e) {
fprintf(stderr, "what: %s\n", e.what());
EXPECT_EQUAL(1337, e.get_port());
EXPECT_EQUAL("RPC", e.get_protocol());
diff --git a/vespalib/src/tests/io/fileutil/fileutiltest.cpp b/vespalib/src/tests/io/fileutil/fileutiltest.cpp
index 6a91df1991f..56ee83f697a 100644
--- a/vespalib/src/tests/io/fileutil/fileutiltest.cpp
+++ b/vespalib/src/tests/io/fileutil/fileutiltest.cpp
@@ -401,7 +401,7 @@ TEST("require that vespalib::copy works")
MallocAutoPtr buffer = getAlignedBuffer(5000);
memset(buffer.get(), 0, 5000);
- strncpy(static_cast<char*>(buffer.get()), "Hello World!\n", 13);
+ strncpy(static_cast<char*>(buffer.get()), "Hello World!\n", 14);
f.write(buffer.get(), 4096, 0);
f.close();
std::cerr << "Simple copy\n";
diff --git a/vespalib/src/tests/stllike/uniq_by_sort_map_hash.cpp b/vespalib/src/tests/stllike/uniq_by_sort_map_hash.cpp
index f073a013ba3..a070bcd15cf 100644
--- a/vespalib/src/tests/stllike/uniq_by_sort_map_hash.cpp
+++ b/vespalib/src/tests/stllike/uniq_by_sort_map_hash.cpp
@@ -236,7 +236,8 @@ size_t benchSort(const std::vector<Slot *> & vOrg)
static char _type;
-int runBenchMark(const std::vector<Slot *> * indirectSlotVector)
+void*
+runBenchMark(const std::vector<Slot *> * indirectSlotVector)
{
int uniq(0);
switch (_type) {
@@ -251,7 +252,7 @@ int runBenchMark(const std::vector<Slot *> * indirectSlotVector)
case 'J': uniq = benchHashVespaLibIntelligentAndFast(*indirectSlotVector); break;
default: break;
}
- return uniq;
+ return reinterpret_cast<void *>(uniq);
}
int main(int argc, char *argv[])
diff --git a/vespalib/src/tests/websocket/websocket_test.cpp b/vespalib/src/tests/websocket/websocket_test.cpp
index 204ab8e0842..e0f96019ba5 100644
--- a/vespalib/src/tests/websocket/websocket_test.cpp
+++ b/vespalib/src/tests/websocket/websocket_test.cpp
@@ -84,7 +84,7 @@ TEST("require that basic reserve/commit/obtain/evict buffer cycle works") {
TEST("require that buffer moves contained data when more space is needed") {
Buffer buffer;
- strncpy(buffer.reserve(3), "xyz", 3);
+ memcpy(buffer.reserve(3), "xyz", 3);
buffer.commit(3);
EXPECT_EQUAL('x', *buffer.obtain());
buffer.evict(1);
diff --git a/vespalog/src/vespa/log/log.cpp b/vespalog/src/vespa/log/log.cpp
index ccd91ec0362..2997075eed1 100644
--- a/vespalog/src/vespa/log/log.cpp
+++ b/vespalog/src/vespa/log/log.cpp
@@ -128,7 +128,7 @@ Logger::Logger(const char *name, const char *rcsId)
memset(_appendix, 0, sizeof(_appendix));
const char *app(strchr(name, '.') ? strchr(name, '.') : "");
assert(strlen(app) < sizeof(_appendix));
- strncpy(_appendix, app, sizeof(_appendix));
+ strcpy(_appendix, app);
if (!_target) {
// Set up stderr first as a target so we can log even if target
// cannot be found
diff --git a/vespalog/src/vespa/log/log.h b/vespalog/src/vespa/log/log.h
index de0b9809e35..20a4b425d72 100644
--- a/vespalog/src/vespa/log/log.h
+++ b/vespalog/src/vespa/log/log.h
@@ -55,7 +55,6 @@ do { \
if (!logInitialised) { \
logInitialised = true; \
logger = static_cast<Logger *>(malloc(sizeof *logger)); \
- memset(logger, 0, sizeof *logger); \
new (logger) Logger(logName, rcsId); \
}
#define LOG_INDIRECT(level, ...) \
diff --git a/vespamalloc/src/vespamalloc/malloc/memorywatcher.h b/vespamalloc/src/vespamalloc/malloc/memorywatcher.h
index 00240cadf12..2bb38541314 100644
--- a/vespamalloc/src/vespamalloc/malloc/memorywatcher.h
+++ b/vespamalloc/src/vespamalloc/malloc/memorywatcher.h
@@ -227,12 +227,17 @@ namespace {
const char *vespaHomeConf(char pathName[])
{
const char *home = "/opt/vespa";
+ const char *conf = "/etc/vespamalloc.conf";
const char *env = getenv("VESPA_HOME");
if (env != NULL) {
home = env;
}
- strncpy(pathName, home, PATH_MAX);
- strncat(pathName, "/etc/vespamalloc.conf", PATH_MAX);
+ if ((strlen(home) + strlen(conf)) >= PATH_MAX) {
+ fprintf(stderr, "size of home(%ld) + conf(%ld) is larger than %d\n", strlen(home), strlen(conf), PATH_MAX);
+ abort();
+ }
+ strcpy(pathName, home);
+ strcat(pathName, conf);
pathName[PATH_MAX - 1] = '\0';
return pathName;
}
diff --git a/vespamalloc/src/vespamalloc/util/osmem.cpp b/vespamalloc/src/vespamalloc/util/osmem.cpp
index e9829908d6d..d7d32f4844a 100644
--- a/vespamalloc/src/vespamalloc/util/osmem.cpp
+++ b/vespamalloc/src/vespamalloc/util/osmem.cpp
@@ -106,7 +106,7 @@ void MmapMemory::setupHugePages()
size_t mountLen(c - mount);
const char *fstype = getToken(c, e);
if (strstr(fstype, "hugetlbfs") == fstype) {
- char mountCopy[1024];
+ char mountCopy[512];
assert(mountLen < sizeof(mountCopy));
strncpy(mountCopy, mount, mountLen);
mountCopy[mountLen] = '\0';
diff --git a/vespamalloc/src/vespamalloc/util/osmem.h b/vespamalloc/src/vespamalloc/util/osmem.h
index d23299dd25f..4ccc2bc112c 100644
--- a/vespamalloc/src/vespamalloc/util/osmem.h
+++ b/vespamalloc/src/vespamalloc/util/osmem.h
@@ -48,7 +48,7 @@ private:
int _hugePagesFd;
size_t _hugePagesOffset;
size_t _hugePageSize;
- char _hugePagesFileName[256];
+ char _hugePagesFileName[1024];
};
}