mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
pktdumper: Use sizeof(variable) instead of the direct buffer length
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>
This commit is contained in:
parent
ec36aa6944
commit
372de27df7
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user