95 lines
3.0 KiB
Diff
95 lines
3.0 KiB
Diff
|
diff --git a/cmd/modutil/install.c b/cmd/modutil/install.c
|
||
|
--- a/cmd/modutil/install.c
|
||
|
+++ b/cmd/modutil/install.c
|
||
|
@@ -825,17 +825,20 @@ rm_dash_r(char *path)
|
||
|
|
||
|
dir = PR_OpenDir(path);
|
||
|
if (!dir) {
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
/* Recursively delete all entries in the directory */
|
||
|
while ((entry = PR_ReadDir(dir, PR_SKIP_BOTH)) != NULL) {
|
||
|
- sprintf(filename, "%s/%s", path, entry->name);
|
||
|
+ if (snprintf(filename, sizeof(filename), "%s/%s", path, entry->name) >= sizeof(filename)) {
|
||
|
+ PR_CloseDir(dir);
|
||
|
+ return -1;
|
||
|
+ }
|
||
|
if (rm_dash_r(filename)) {
|
||
|
PR_CloseDir(dir);
|
||
|
return -1;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (PR_CloseDir(dir) != PR_SUCCESS) {
|
||
|
return -1;
|
||
|
diff --git a/cmd/signtool/util.c b/cmd/signtool/util.c
|
||
|
--- a/cmd/signtool/util.c
|
||
|
+++ b/cmd/signtool/util.c
|
||
|
@@ -132,17 +132,20 @@ rm_dash_r(char *path)
|
||
|
if (!dir) {
|
||
|
PR_fprintf(errorFD, "Error: Unable to open directory %s.\n", path);
|
||
|
errorCount++;
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
/* Recursively delete all entries in the directory */
|
||
|
while ((entry = PR_ReadDir(dir, PR_SKIP_BOTH)) != NULL) {
|
||
|
- sprintf(filename, "%s/%s", path, entry->name);
|
||
|
+ if (snprintf(filename, sizeof(filename), "%s/%s", path, entry->name) >= sizeof(filename)) {
|
||
|
+ errorCount++;
|
||
|
+ return -1;
|
||
|
+ }
|
||
|
if (rm_dash_r(filename))
|
||
|
return -1;
|
||
|
}
|
||
|
|
||
|
if (PR_CloseDir(dir) != PR_SUCCESS) {
|
||
|
PR_fprintf(errorFD, "Error: Could not close %s.\n", path);
|
||
|
errorCount++;
|
||
|
return -1;
|
||
|
diff --git a/lib/libpkix/pkix/util/pkix_list.c b/lib/libpkix/pkix/util/pkix_list.c
|
||
|
--- a/lib/libpkix/pkix/util/pkix_list.c
|
||
|
+++ b/lib/libpkix/pkix/util/pkix_list.c
|
||
|
@@ -1530,17 +1530,17 @@ cleanup:
|
||
|
*/
|
||
|
PKIX_Error *
|
||
|
PKIX_List_SetItem(
|
||
|
PKIX_List *list,
|
||
|
PKIX_UInt32 index,
|
||
|
PKIX_PL_Object *item,
|
||
|
void *plContext)
|
||
|
{
|
||
|
- PKIX_List *element;
|
||
|
+ PKIX_List *element = NULL;
|
||
|
|
||
|
PKIX_ENTER(LIST, "PKIX_List_SetItem");
|
||
|
PKIX_NULLCHECK_ONE(list);
|
||
|
|
||
|
if (list->immutable){
|
||
|
PKIX_ERROR(PKIX_OPERATIONNOTPERMITTEDONIMMUTABLELIST);
|
||
|
}
|
||
|
|
||
|
diff --git a/lib/libpkix/pkix_pl_nss/system/pkix_pl_oid.c b/lib/libpkix/pkix_pl_nss/system/pkix_pl_oid.c
|
||
|
--- a/lib/libpkix/pkix_pl_nss/system/pkix_pl_oid.c
|
||
|
+++ b/lib/libpkix/pkix_pl_nss/system/pkix_pl_oid.c
|
||
|
@@ -102,17 +102,17 @@ cleanup:
|
||
|
*/
|
||
|
static PKIX_Error *
|
||
|
pkix_pl_OID_Equals(
|
||
|
PKIX_PL_Object *first,
|
||
|
PKIX_PL_Object *second,
|
||
|
PKIX_Boolean *pResult,
|
||
|
void *plContext)
|
||
|
{
|
||
|
- PKIX_Int32 cmpResult;
|
||
|
+ PKIX_Int32 cmpResult = 0;
|
||
|
|
||
|
PKIX_ENTER(OID, "pkix_pl_OID_Equals");
|
||
|
PKIX_NULLCHECK_THREE(first, second, pResult);
|
||
|
|
||
|
PKIX_CHECK(pkix_pl_OID_Comparator
|
||
|
(first, second, &cmpResult, plContext),
|
||
|
PKIX_OIDCOMPARATORFAILED);
|
||
|
|