qc_sqlite: Replace strncpy with memcpy

On RHEL8 the former may give rise to incorrect

    error: 'char* strncpy(char*, const char*, size_t)' destination
    unchanged after copying no bytes [-Werror=stringop-truncation]
This commit is contained in:
Johan Wikman
2019-06-11 20:14:58 +03:00
parent 5b14e28fc8
commit 814ae196e9

View File

@ -1702,7 +1702,7 @@ public:
const Token* pDatabase = pName2->z ? pName1 : NULL; const Token* pDatabase = pName2->z ? pName1 : NULL;
char name[pName->n + 1]; char name[pName->n + 1];
strncpy(name, pName->z, pName->n); memcpy(name, pName->z, pName->n);
name[pName->n] = 0; name[pName->n] = 0;
QcAliases aliases; QcAliases aliases;
@ -1710,7 +1710,7 @@ public:
if (pDatabase) if (pDatabase)
{ {
char database[pDatabase->n + 1]; char database[pDatabase->n + 1];
strncpy(database, pDatabase->z, pDatabase->n); memcpy(database, pDatabase->z, pDatabase->n);
database[pDatabase->n] = 0; database[pDatabase->n] = 0;
update_names(database, name, NULL, &aliases); update_names(database, name, NULL, &aliases);
@ -1974,13 +1974,13 @@ public:
const Token* pDatabase = pName2->z ? pName1 : NULL; const Token* pDatabase = pName2->z ? pName1 : NULL;
char name[pName->n + 1]; char name[pName->n + 1];
strncpy(name, pName->z, pName->n); memcpy(name, pName->z, pName->n);
name[pName->n] = 0; name[pName->n] = 0;
if (pDatabase) if (pDatabase)
{ {
char database[pDatabase->n + 1]; char database[pDatabase->n + 1];
strncpy(database, pDatabase->z, pDatabase->n); memcpy(database, pDatabase->z, pDatabase->n);
database[pDatabase->n] = 0; database[pDatabase->n] = 0;
update_names(database, name, NULL, NULL); update_names(database, name, NULL, NULL);
@ -2177,14 +2177,14 @@ public:
if (pDatabase) if (pDatabase)
{ {
strncpy(database, pDatabase->z, pDatabase->n); memcpy(database, pDatabase->z, pDatabase->n);
database[pDatabase->n] = 0; database[pDatabase->n] = 0;
zDatabase = database; zDatabase = database;
} }
char table[pTable->n + 1]; char table[pTable->n + 1];
strncpy(table, pTable->z, pTable->n); memcpy(table, pTable->z, pTable->n);
table[pTable->n] = 0; table[pTable->n] = 0;
update_names(zDatabase, table, NULL, NULL); update_names(zDatabase, table, NULL, NULL);
@ -2285,14 +2285,14 @@ public:
if (pDatabase) if (pDatabase)
{ {
strncpy(database, pDatabase->z, pDatabase->n); memcpy(database, pDatabase->z, pDatabase->n);
database[pDatabase->n] = 0; database[pDatabase->n] = 0;
zDatabase = database; zDatabase = database;
} }
char table[pName->n + 1]; char table[pName->n + 1];
strncpy(table, pName->z, pName->n); memcpy(table, pName->z, pName->n);
table[pName->n] = 0; table[pName->n] = 0;
update_names(zDatabase, table, NULL, NULL); update_names(zDatabase, table, NULL, NULL);
@ -2415,7 +2415,7 @@ public:
m_type_mask = QUERY_TYPE_WRITE; m_type_mask = QUERY_TYPE_WRITE;
char zName[pName->n + 1]; char zName[pName->n + 1];
strncpy(zName, pName->z, pName->n); memcpy(zName, pName->z, pName->n);
zName[pName->n] = 0; zName[pName->n] = 0;
update_names("*any*", zName, NULL, NULL); update_names("*any*", zName, NULL, NULL);
@ -3127,7 +3127,7 @@ public:
char database[pDatabase ? pDatabase->n + 1 : 0]; char database[pDatabase ? pDatabase->n + 1 : 0];
if (pDatabase) if (pDatabase)
{ {
strncpy(database, pDatabase->z, pDatabase->n); memcpy(database, pDatabase->z, pDatabase->n);
database[pDatabase->n] = 0; database[pDatabase->n] = 0;
zDatabase = database; zDatabase = database;
} }
@ -3137,7 +3137,7 @@ public:
} }
char name[pName->n + 1]; char name[pName->n + 1];
strncpy(name, pName->z, pName->n); memcpy(name, pName->z, pName->n);
name[pName->n] = 0; name[pName->n] = 0;
update_names(zDatabase, name, NULL, NULL); update_names(zDatabase, name, NULL, NULL);
@ -3336,7 +3336,7 @@ private:
if (nDatabase) if (nDatabase)
{ {
strncpy(fullname, zDatabase, nDatabase); memcpy(fullname, zDatabase, nDatabase);
fullname[nDatabase] = 0; fullname[nDatabase] = 0;
strcat(fullname, "."); strcat(fullname, ".");
} }