Blob Blame History Raw
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
@@ -138,6 +138,12 @@ rm_dash_r(char *path)
         /* 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++;
+                PR_CloseDir(dir);
+                return -1;
+            }
             if (rm_dash_r(filename)) {
                 PR_CloseDir(dir);
                 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);