aboutsummaryrefslogtreecommitdiffstats
path: root/src/bindfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bindfs.c')
-rw-r--r--src/bindfs.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/bindfs.c b/src/bindfs.c
index add6311..57d0a8e 100644
--- a/src/bindfs.c
+++ b/src/bindfs.c
@@ -2360,7 +2360,7 @@ struct fuse_args filter_special_opts(struct fuse_args *args)
/* remove ignored option from a comma separated list */
if (strchr(args->argv[i+1], ',') != NULL) {
- char *tmpStr = (char*) calloc(strlen(args->argv[i+1]), sizeof(char));
+ char *tmpStr = (char*) calloc(strlen(args->argv[i+1]) + 1, sizeof(char));
char *ptr = strtok(args->argv[i+1], ",");
while (ptr != NULL) {
ignore = false;
@@ -2377,7 +2377,7 @@ struct fuse_args filter_special_opts(struct fuse_args *args)
ptr = strtok(NULL, ",");
}
if (strlen(tmpStr) > 0) {
- args->argv[i+1] = (char*) calloc(strlen(tmpStr), sizeof(char));
+ args->argv[i+1] = (char*) calloc(strlen(tmpStr) + 1, sizeof(char));
strcpy(args->argv[i+1], tmpStr);
free(tmpStr);
ignore = false;
@@ -2405,10 +2405,10 @@ struct fuse_args filter_special_opts(struct fuse_args *args)
/* remove ignored option from a comma seperated list */
if (strchr(args->argv[i], ',') != NULL) {
- char *tmpStr = (char*) calloc(strlen(args->argv[i]), sizeof(char));
- char *tmpStr2 = (char*) calloc(strlen(args->argv[i])-2, sizeof(char));
+ char *tmpStr = (char*) calloc(strlen(args->argv[i]) + 1, sizeof(char));
+ char *tmpStr2 = (char*) calloc(strlen(args->argv[i]) + 1 - 2, sizeof(char));
// remove first 2 chars from args->argv[i] and save this to tmpStr2
- memmove(tmpStr2, args->argv[i]+2, strlen(args->argv[i])-2);
+ memcpy(tmpStr2, args->argv[i] + 2, strlen(args->argv[i]) - 2);
char *ptr = strtok(tmpStr2, ",");
while (ptr != NULL) {
ignore = false;
@@ -2425,7 +2425,7 @@ struct fuse_args filter_special_opts(struct fuse_args *args)
ptr = strtok(NULL, ",");
}
if (strlen(tmpStr) > 0) {
- args->argv[i] = (char*) calloc(strlen(tmpStr)+2, sizeof(char));
+ args->argv[i] = (char*) calloc(2 + strlen(tmpStr) + 1, sizeof(char));
strcat(args->argv[i], "-o");
strcat(args->argv[i], tmpStr);
free(tmpStr);
@@ -2440,7 +2440,7 @@ struct fuse_args filter_special_opts(struct fuse_args *args)
/* ignore this element if it has exactly the ignored option */
else {
for (int j = 0; ignore_opts[j]; j++) {
- char* tmpStr = (char*) calloc(3 + strlen(ignore_opts[j]), sizeof(char));
+ char* tmpStr = (char*) calloc(2 + strlen(ignore_opts[j]) + 1, sizeof(char));
strcat(tmpStr, "-o");
strcat(tmpStr, ignore_opts[j]);
if (strcmp(args->argv[i], tmpStr) == 0) {