GVariant *value;
int i = 0;
int len = 0;
+ size_t s = 0;
g_variant_get(parameters, "(u&s&s@as)", &target_uid, &arg_pkgtype,
&pkgpath, &value);
}
for (i = 0; i < args_count; i++) {
- strncat(args, tmp_args[i], strlen(tmp_args[i]));
- if (i != args_count - 1)
- strncat(args, " ", strlen(" "));
+ s += strlen(tmp_args[i]);
+ strncat(args, tmp_args[i], len - s - 1);
+ if (i != args_count - 1) {
+ s += strlen(" ");
+ strncat(args, " ", len - s - 1);
+ }
}
if (target_uid == (uid_t)-1 || pkgpath == NULL) {
GVariant *value;
int i = 0;
int len = 0;
+ size_t s = 0;
g_variant_get(parameters, "(u&s&s@as)", &target_uid, &arg_pkgtype,
&pkgpath, &value);
}
for (i = 0; i < args_count; i++) {
- strncat(args, tmp_args[i], strlen(tmp_args[i]));
- if (i != args_count - 1)
- strncat(args, " ", strlen(" "));
+ s += strlen(tmp_args[i]);
+ strncat(args, tmp_args[i], len - s - 1);
+ if (i != args_count - 1) {
+ s += strlen(" ");
+ strncat(args, " ", len - s - 1);
+ }
}
if (target_uid == (uid_t)-1 || pkgpath == NULL) {