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