pktdumper: Use sizeof(variable) instead of the direct buffer length
authorMartin Storsjö <martin@martin.st>
Thu, 30 Aug 2012 20:08:06 +0000 (23:08 +0300)
committerMartin Storsjö <martin@martin.st>
Thu, 30 Aug 2012 21:44:21 +0000 (00:44 +0300)
Also change the snprintf size to use the full buffer, since
snprintf always null-terminates the buffer.

Signed-off-by: Martin Storsjö <martin@martin.st>
tools/pktdumper.c

index 9243c93..fffeeeb 100644 (file)
@@ -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,