src/io/: also copy null ending char
authorPaul Brossier <piem@piem.org>
Fri, 22 Apr 2016 18:08:27 +0000 (20:08 +0200)
committerPaul Brossier <piem@piem.org>
Fri, 22 Apr 2016 18:08:27 +0000 (20:08 +0200)
src/io/sink_apple_audio.c
src/io/sink_sndfile.c
src/io/sink_wavwrite.c
src/io/source_apple_audio.c
src/io/source_avcodec.c
src/io/source_sndfile.c
src/io/source_wavread.c

index 6f3f358..b6fd358 100644 (file)
@@ -67,8 +67,8 @@ aubio_sink_apple_audio_t * new_aubio_sink_apple_audio(const char_t * uri, uint_t
     goto beach;
   }
   if (s->path != NULL) AUBIO_FREE(s->path);
-  s->path = AUBIO_ARRAY(char_t, strnlen(uri, PATH_MAX));
-  strncpy(s->path, uri, strnlen(uri, PATH_MAX));
+  s->path = AUBIO_ARRAY(char_t, strnlen(uri, PATH_MAX) + 1);
+  strncpy(s->path, uri, strnlen(uri, PATH_MAX) + 1);
 
   s->samplerate = 0;
   s->channels = 0;
index c43fbc3..99392c3 100644 (file)
@@ -63,8 +63,8 @@ aubio_sink_sndfile_t * new_aubio_sink_sndfile(const char_t * path, uint_t sample
   }
 
   if (s->path) AUBIO_FREE(s->path);
-  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX));
-  strncpy(s->path, path, strnlen(path, PATH_MAX));
+  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX) + 1);
+  strncpy(s->path, path, strnlen(path, PATH_MAX) + 1);
 
   s->samplerate = 0;
   s->channels = 0;
index d99c162..761f6e5 100644 (file)
@@ -90,8 +90,8 @@ aubio_sink_wavwrite_t * new_aubio_sink_wavwrite(const char_t * path, uint_t samp
   }
 
   if (s->path) AUBIO_FREE(s->path);
-  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX));
-  strncpy(s->path, path, strnlen(path, PATH_MAX));
+  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX) + 1);
+  strncpy(s->path, path, strnlen(path, PATH_MAX) + 1);
 
   s->max_size = MAX_SIZE;
   s->bitspersample = 16;
index 97d5b99..126058b 100644 (file)
@@ -96,8 +96,8 @@ uint_t aubio_source_apple_audio_open (aubio_source_apple_audio_t *s, const char_
   UInt32 propSize;
 
   if (s->path) AUBIO_FREE(s->path);
-  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX));
-  strncpy(s->path, path, strnlen(path, PATH_MAX));
+  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX) + 1);
+  strncpy(s->path, path, strnlen(path, PATH_MAX) + 1);
 
   // open the resource url
   CFURLRef fileURL = createURLFromPath(s->path);
index 3ab9a1f..1d058f9 100644 (file)
@@ -86,8 +86,8 @@ aubio_source_avcodec_t * new_aubio_source_avcodec(const char_t * path, uint_t sa
   s->channels = 1;
 
   if (s->path) AUBIO_FREE(s->path);
-  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX));
-  strncpy(s->path, path, strnlen(path, PATH_MAX));
+  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX) + 1);
+  strncpy(s->path, path, strnlen(path, PATH_MAX) + 1);
 
   // register all formats and codecs
   av_register_all();
index f69d2f6..7f88e71 100644 (file)
@@ -88,8 +88,8 @@ aubio_source_sndfile_t * new_aubio_source_sndfile(const char_t * path, uint_t sa
   s->channels = 1;
 
   if (s->path) AUBIO_FREE(s->path);
-  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX));
-  strncpy(s->path, path, strnlen(path, PATH_MAX));
+  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX) + 1);
+  strncpy(s->path, path, strnlen(path, PATH_MAX) + 1);
 
   // try opening the file, getting the info in sfinfo
   AUBIO_MEMSET(&sfinfo, 0, sizeof (sfinfo));
index 3dc3813..d958fbe 100644 (file)
@@ -87,8 +87,8 @@ aubio_source_wavread_t * new_aubio_source_wavread(const char_t * path, uint_t sa
   }
 
   if (s->path) AUBIO_FREE(s->path);
-  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX));
-  strncpy(s->path, path, strnlen(path, PATH_MAX));
+  s->path = AUBIO_ARRAY(char_t, strnlen(path, PATH_MAX) + 1);
+  strncpy(s->path, path, strnlen(path, PATH_MAX) + 1);
 
   s->samplerate = samplerate;
   s->hop_size = hop_size;