diff --git a/tools/pktdumper.c b/tools/pktdumper.c
index 9243c9337320cf9e9abc98bee38b580e5adff346..fffeeeb70ac307a7ebda1ba51f0862ad2d70ca3f 100644
--- a/tools/pktdumper.c
+++ b/tools/pktdumper.c
@@ -70,16 +70,16 @@ int main(int argc, char **argv)
         return usage(1);
     if (argc > 2)
         maxpkts = atoi(argv[2]);
-    strncpy(fntemplate, argv[1], PATH_MAX - 1);
+    strncpy(fntemplate, argv[1], sizeof(fntemplate) - 1);
     if (strrchr(argv[1], '/'))
-        strncpy(fntemplate, strrchr(argv[1], '/') + 1, PATH_MAX - 1);
+        strncpy(fntemplate, strrchr(argv[1], '/') + 1, sizeof(fntemplate) - 1);
     if (strrchr(fntemplate, '.'))
         *strrchr(fntemplate, '.') = '\0';
     if (strchr(fntemplate, '%')) {
         fprintf(stderr, "can't use filenames containing '%%'\n");
         return usage(1);
     }
-    if (strlen(fntemplate) + sizeof(PKTFILESUFF) >= PATH_MAX - 1) {
+    if (strlen(fntemplate) + sizeof(PKTFILESUFF) >= sizeof(fntemplate) - 1) {
         fprintf(stderr, "filename too long\n");
         return usage(1);
     }
@@ -105,7 +105,7 @@ int main(int argc, char **argv)
 
     while ((err = av_read_frame(fctx, &pkt)) >= 0) {
         int fd;
-        snprintf(pktfilename, PATH_MAX - 1, fntemplate, pktnum,
+        snprintf(pktfilename, sizeof(pktfilename), fntemplate, pktnum,
                  pkt.stream_index, pkt.pts, pkt.size,
                  (pkt.flags & AV_PKT_FLAG_KEY) ? 'K' : '_');
         printf(PKTFILESUFF "\n", pktnum, pkt.stream_index, pkt.pts, pkt.size,