aboutsummaryrefslogtreecommitdiffstats
path: root/db.c
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-07-09 10:08:09 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2004-07-09 10:08:09 +0000
commit6d161f15883a5bc1c1f2afe07bce871de1ed18a2 (patch)
tree9cf87413ea67a1d4274c7561d225620748299353 /db.c
parenta2741a5731dbe634606ce69e842bc7b7d4ec3f8d (diff)
More strcpy / snprintf as part of rgagnon's audit (bug #2004)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3410 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'db.c')
-rwxr-xr-xdb.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/db.c b/db.c
index 128547fde..8bd72a504 100755
--- a/db.c
+++ b/db.c
@@ -84,7 +84,7 @@ int ast_db_deltree(const char *family, const char *keytree)
} else if (keytree)
return -1;
else
- strcpy(prefix, "");
+ prefix[0] = '\0';
ast_mutex_lock(&dblock);
if (dbinit())
@@ -169,6 +169,7 @@ int ast_db_get(const char *family, const char *keys, char *value, int valuelen)
((char *)data.data)[data.size - 1] = '\0';
/* Make sure that we don't write too much to the dst pointer or we don't read too much from the source pointer */
strncpy(value, data.data, (valuelen > data.size) ? data.size : valuelen);
+ value[valuelen - 1] = '\0';
} else {
ast_log(LOG_NOTICE, "Strange, empty value for /%s/%s\n", family, keys);
}
@@ -275,7 +276,7 @@ static int database_show(int fd, int argc, char *argv[])
snprintf(prefix, sizeof(prefix), "/%s", argv[2]);
} else if (argc == 2) {
/* Neither */
- strcpy(prefix, "");
+ prefix[0] = '\0';
} else
return RESULT_SHOWUSAGE;
ast_mutex_lock(&dblock);
@@ -324,7 +325,7 @@ struct ast_db_entry *ast_db_gettree(const char *family, const char *keytree)
/* Family only */
snprintf(prefix, sizeof(prefix), "/%s", family);
} else
- strcpy(prefix, "");
+ prefix[0] = '\0';
ast_mutex_lock(&dblock);
if (dbinit()) {
ast_mutex_unlock(&dblock);