File fix-strops-lencheck.diff of Package libs3
Index: libs3/src/request.c
===================================================================
--- libs3.orig/src/request.c
+++ libs3/src/request.c
@@ -822,7 +822,7 @@ static void sort_and_urlencode_query_str
const char* params[numParams];
char tokenized[strlen(queryString) + 1];
- strncpy(tokenized, queryString, strlen(queryString) + 1);
+ strcpy(tokenized, queryString);
char *tok = tokenized;
const char *token = NULL;
@@ -863,10 +863,11 @@ static void sort_and_urlencode_query_str
else {
snprintf(appendage, 4, "%%%02X", c);
}
- strncat(result, appendage, strlen(appendage));
+ strncat(result, appendage, 5); //strlen(appendage));
}
- strncat(result, "&", 1);
+ strcat(result, "&");
}
+ // Really cut off last byte?
result[strlen(result) - 1] = '\0';
}