summaryrefslogtreecommitdiff
path: root/junklib.c
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-25 16:05:36 +0200
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2010-04-25 16:05:36 +0200
commit91767a4a6a8b9fc37413bfdad63dd53cb9780d35 (patch)
tree2bd765855157c3425c26adab207df091be0cc611 /junklib.c
parente3972162fd9387839fb0f17372c5dd74af9c779d (diff)
fixed apev2_read_full bugs leading to data corruption
Diffstat (limited to 'junklib.c')
-rw-r--r--junklib.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/junklib.c b/junklib.c
index fa50ca71..af69e71f 100644
--- a/junklib.c
+++ b/junklib.c
@@ -844,9 +844,10 @@ junk_apev2_read_full (playItem_t *it, DB_apev2_tag_t *tag_store, DB_FILE *fp) {
if (tag_store) {
DB_apev2_frame_t *frm = malloc (sizeof (DB_apev2_frame_t) + itemsize);
memset (frm, 0, sizeof (DB_apev2_tag_t));
- frm->flags = flags;
+ frm->flags = itemflags;
strcpy (frm->key, key);
- frm->size = size;
+ trace ("*** stored frame %s flags %X\n", key, itemflags);
+ frm->size = itemsize;
memcpy (frm->data, value, itemsize);
if (tail) {
tail->next = frm;
@@ -1903,7 +1904,7 @@ junk_apev2_remove_frames (DB_apev2_tag_t *tag, const char *frame_id) {
DB_apev2_frame_t *prev = NULL;
for (DB_apev2_frame_t *f = tag->frames; f; ) {
DB_apev2_frame_t *next = f->next;
- if (!strcmp (f->key, frame_id)) {
+ if (!strcasecmp (f->key, frame_id)) {
if (prev) {
prev->next = f->next;
}