Project

General

Profile

id3v24.diff

Proposed code-change - Jim Turner, March 17, 2023 21:00

View differences:

src/libaudtag/id3/id3v24.cc
331 331
    header.size = (version == 3) ? FROM_BE32 (header.size) : unsyncsafe32 (FROM_BE32 (header.size));
332 332
    header.flags = FROM_BE16 (header.flags);
333 333

  
334
    if (header.size > (unsigned) max_size || header.size == 0)
334
    if (header.size > (unsigned) max_size)
335 335
        return false;
336 336

  
337 337
    AUDDBG ("Found frame:\n");
......
350 350
    if (header.flags & ID3_FRAME_HAS_LENGTH)
351 351
        skip += 4;
352 352

  
353
    if (skip >= header.size)
354
        return false;
355

  
356 353
    * frame_size = sizeof (ID3v24FrameHeader) + header.size;
357 354

  
358 355
    frame.key = String (str_copy (header.key, 4));
359 356
    frame.clear ();
360
    frame.insert (data + skip, 0, header.size - skip);
357

  
358
    if (header.size > skip)
359
        frame.insert (data + skip, 0, header.size - skip);
361 360

  
362 361
    if (header.flags & ID3_FRAME_SYNCSAFE)
363 362
        unsyncsafe (frame);