summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuergen Keil <jkeil@users.sourceforge.net>2003-01-09 18:36:40 +0000
committerJuergen Keil <jkeil@users.sourceforge.net>2003-01-09 18:36:40 +0000
commit622c22c66441ecd39d9810e2ea6951fe7df6ad7d (patch)
treeb67dd7775b8cad3ee539fdd146c79716b33eefd8
parent833c6d0deda4f9a556034ad2ffb1483c89182a40 (diff)
downloadxine-lib-622c22c66441ecd39d9810e2ea6951fe7df6ad7d.tar.gz
xine-lib-622c22c66441ecd39d9810e2ea6951fe7df6ad7d.tar.bz2
memcpy copies too much, corrupts malloc heap
CVS patchset: 3846 CVS date: 2003/01/09 18:36:40
-rw-r--r--src/libxineadec/nosefart/nsf.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/libxineadec/nosefart/nsf.c b/src/libxineadec/nosefart/nsf.c
index 5f390d1d7..1cb476138 100644
--- a/src/libxineadec/nosefart/nsf.c
+++ b/src/libxineadec/nosefart/nsf.c
@@ -20,7 +20,7 @@
** nsf.c
**
** NSF loading/saving related functions
-** $Id: nsf.c,v 1.1 2003/01/08 07:04:35 tmmm Exp $
+** $Id: nsf.c,v 1.2 2003/01/09 18:36:40 jkeil Exp $
*/
#include <stdio.h>
@@ -486,7 +486,7 @@ nsf_t *nsf_load(char *filename, void *source, int length)
free(new_fn);
}
else
- memcpy(temp_nsf->data, (uint8 *) source + NSF_HEADER_SIZE, length);
+ memcpy(temp_nsf->data, (uint8 *) source + NSF_HEADER_SIZE, length - NSF_HEADER_SIZE);
/* Set up some variables */
nsf_setup(temp_nsf);
@@ -579,6 +579,9 @@ void nsf_setfilter(nsf_t *nsf, int filter_type)
/*
** $Log: nsf.c,v $
+** Revision 1.2 2003/01/09 18:36:40 jkeil
+** memcpy copies too much, corrupts malloc heap
+**
** Revision 1.1 2003/01/08 07:04:35 tmmm
** initial import of Nosefart sources
**
@@ -615,4 +618,4 @@ void nsf_setfilter(nsf_t *nsf, int filter_type)
** Revision 1.4 2000/06/09 15:12:26 matt
** initial revision
**
-*/ \ No newline at end of file
+*/