summaryrefslogtreecommitdiff
path: root/quicksearch.c
diff options
context:
space:
mode:
authorProsperousPotato <ProsperousPotato@users.noreply.github.com>2025-07-28 17:00:36 +0100
committerProsperousPotato <ProsperousPotato@users.noreply.github.com>2025-07-28 17:00:36 +0100
commit6384c9e3fe3b5ac2ec1af25aef237bedc2d3f229 (patch)
tree0ad8570d037681d9497ae3e9c7fdbfb039cb551a /quicksearch.c
parentf68ec7323c44aa33f12934f0914ff5f0fa8d57eb (diff)
replace sprintf and strcpy with snprintf and strlcpy
Diffstat (limited to 'quicksearch.c')
-rwxr-xr-xquicksearch.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/quicksearch.c b/quicksearch.c
index 9cc517c..1f8f248 100755
--- a/quicksearch.c
+++ b/quicksearch.c
@@ -20,12 +20,13 @@ quicksearch(const Arg *arg)
int first = 1;
for (int i = 0; i < LENGTH(tags); i++) {
if (c->tags & (1 << i)) {
- if (!first) tag_len += sprintf(tag_str + tag_len, ",");
- tag_len += sprintf(tag_str + tag_len, "%d", i + 1);
+
+ if (!first) tag_len += snprintf(tag_str + tag_len, sizeof(tag_str) - tag_len, ",");
+ tag_len += snprintf(tag_str + tag_len, sizeof(tag_str) - tag_len, "%d", i + 1);
first = 0;
}
}
- tag_len += sprintf(tag_str + tag_len, "] ");
+ tag_len += snprintf(tag_str + tag_len, sizeof(tag_str) - tag_len, "] ");
size_t name_len = strlen(c->name);
size_t needed = names_len + tag_len + name_len + 1;
@@ -44,9 +45,10 @@ quicksearch(const Arg *arg)
die("quicksearch: realloc failed");
}
- strcpy(names + names_len, tag_str);
- names_len += tag_len;
- strcpy(names + names_len, c->name);
+ strlcpy(names + names_len, tag_str, names_size - names_len);
+ names_len += tag_len;
+ strlcpy(names + names_len, c->name, names_size - names_len);
+
names_len += name_len;
names[names_len] = '\n';
names_len++;