]> Chaos Git - corbenik/ctrulib.git/commitdiff
Guard against potential null pointer dereferences
authorLioncash <mathew1800@gmail.com>
Sun, 1 Feb 2015 12:47:18 +0000 (07:47 -0500)
committerLioncash <mathew1800@gmail.com>
Sun, 1 Feb 2015 12:47:18 +0000 (07:47 -0500)
libctru/source/services/csnd.c
libctru/source/services/soc/soc_ioctl.c

index 3c8012d51553823a6cb141bafd52a6d5b5704180..994443f5b6f212ae28656d737edf5f9f8fe0ba7f 100644 (file)
@@ -410,7 +410,7 @@ Result csndPlaySound(int chn, u32 flags, u32 sampleRate, void* data0, void* data
                if (data0) paddr0 = osConvertVirtToPhys((u32)data0);
                if (data1) paddr1 = osConvertVirtToPhys((u32)data1);
 
-               if (encoding == CSND_ENCODING_ADPCM)
+               if (data0 && encoding == CSND_ENCODING_ADPCM)
                {
                        int adpcmSample = ((s16*)data0)[-2];
                        int adpcmIndex = ((u8*)data0)[-2];
index 41256462586dec52e575959ba59bf5dfae4109af..ec4e6911b34c07ab93ee261de5a99c832c4054ea 100644 (file)
@@ -18,7 +18,8 @@ int ioctl(int fd, int request, ...)
                value = va_arg(ap, int*);
                if(value == NULL) {
                        errno = EFAULT;
-                       ret = -1;
+                       va_end(ap);
+                       return -1;
                }
 
                flags = fcntl(fd, F_GETFL, 0);