Replace all usages of sprintf with snprintf
diff --git a/tests/aviftest.c b/tests/aviftest.c
index 27114d7..eada156 100644
--- a/tests/aviftest.c
+++ b/tests/aviftest.c
@@ -30,7 +30,8 @@
             }
         } else {
             char filenameBuffer[2048];
-            sprintf(filenameBuffer, "%s\\*", parentDir);
+            snprintf(filenameBuffer, sizeof(filenameBuffer), "%s\\*", parentDir);
+            filenameBuffer[sizeof(filenameBuffer) - 1] = 0;
             nfd->handle = FindFirstFile(filenameBuffer, &nfd->wfd);
             if (nfd->handle == INVALID_HANDLE_VALUE) {
                 return NULL;
@@ -146,7 +147,8 @@
     char * jsonString = cJSON_PrintUnformatted(tests);
 
     char testJSONFilename[2048];
-    sprintf(testJSONFilename, "%s/tests.json", dataDir);
+    snprintf(testJSONFilename, sizeof(testJSONFilename), "%s/tests.json", dataDir);
+    testJSONFilename[sizeof(testJSONFilename) - 1] = 0;
     FILE * f = fopen(testJSONFilename, "wb");
     if (f) {
         fprintf(f, "%s", jsonString);
@@ -170,7 +172,8 @@
     printf("AVIF Test Suite: Running Tests...\n");
 
     char testJSONFilename[2048];
-    sprintf(testJSONFilename, "%s/tests.json", dataDir);
+    snprintf(testJSONFilename, sizeof(testJSONFilename), "%s/tests.json", dataDir);
+    testJSONFilename[sizeof(testJSONFilename) - 1] = 0;
     FILE * f = fopen(testJSONFilename, "rb");
     if (!f) {
         printf("ERROR: Failed to read: %s\n", testJSONFilename);
diff --git a/tests/testcase.c b/tests/testcase.c
index 0baea81..8d9a53e 100644
--- a/tests/testcase.c
+++ b/tests/testcase.c
@@ -77,14 +77,16 @@
     }
 
     char nameBuffer[1024];
-    sprintf(nameBuffer,
-            "%s_%s_to_%s_qp%d_%d_speed%d",
-            basenameBuffer,
-            choiceToString(tc->encodeChoice),
-            choiceToString(tc->decodeChoice),
-            tc->minQuantizer,
-            tc->maxQuantizer,
-            tc->speed);
+    snprintf(nameBuffer,
+             sizeof(nameBuffer),
+             "%s_%s_to_%s_qp%d_%d_speed%d",
+             basenameBuffer,
+             choiceToString(tc->encodeChoice),
+             choiceToString(tc->decodeChoice),
+             tc->minQuantizer,
+             tc->maxQuantizer,
+             tc->speed);
+    nameBuffer[sizeof(nameBuffer) - 1] = 0;
     if (tc->name) {
         free(tc->name);
     }
@@ -191,7 +193,8 @@
     }
 
     char y4mFilename[2048];
-    sprintf(y4mFilename, "%s/%s", dataDir, tc->inputFilename);
+    snprintf(y4mFilename, sizeof(y4mFilename), "%s/%s", dataDir, tc->inputFilename);
+    y4mFilename[sizeof(y4mFilename) - 1] = 0;
 
     avifImage * image = avifImageCreateEmpty();
     if (!y4mRead(image, y4mFilename)) {