Skip to content

Commit 0bb1d77

Browse files
committed
Crash in MetaData
1 parent dc903f3 commit 0bb1d77

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

src/AudioTools/CoreAudio/AudioMetaData/MetaDataID3.h

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -338,6 +338,7 @@ class MetaDataID3V2 : public MetaDataID3Base {
338338
actual_tag = nullptr;
339339
tag_active = false;
340340
tag_processed = false;
341+
result.resize(result_size);
341342
}
342343

343344
/// Ends the processing and releases the memory
@@ -382,6 +383,14 @@ class MetaDataID3V2 : public MetaDataID3Base {
382383
return tag_processed;
383384
}
384385

386+
/// Defines the result buffer size (default is 256);
387+
void resize(int size){
388+
result_size = size;
389+
if (result.size()==0) {
390+
result.resize(result_size);
391+
}
392+
}
393+
385394
protected:
386395
ID3v2 tagv2;
387396
bool tag_active = false;
@@ -390,7 +399,8 @@ class MetaDataID3V2 : public MetaDataID3Base {
390399
const char* actual_tag;
391400
ID3v2FrameString frame_header;
392401
int use_bytes_of_next_write = 0;
393-
Vector<char> result{256};
402+
int result_size = 256;
403+
Vector<char> result{0};
394404
uint64_t total_len = 0;
395405
uint64_t end_len = 0;
396406

@@ -586,6 +596,11 @@ class MetaDataID3 : public AbstractMetaData {
586596
return len;
587597
}
588598

599+
/// Defines the ID3V3 result buffer size (default is 256);
600+
void resize(int size){
601+
id3v2.resize(size);
602+
}
603+
589604
protected:
590605
MetaDataID3V1 id3v1;
591606
MetaDataID3V2 id3v2;

0 commit comments

Comments
 (0)