]> git.hungrycats.org Git - linux/commitdiff
[PATCH] janitor: fix oss/harmony copy*user
authorRandy Dunlap <rddunlap@osdl.org>
Sat, 6 Sep 2003 07:35:17 +0000 (00:35 -0700)
committerLinus Torvalds <torvalds@home.osdl.org>
Sat, 6 Sep 2003 07:35:17 +0000 (00:35 -0700)
This patch catches insures proper return values from
copy_to/from_user calls.

From: Ron Gage <ron@rongage.org>

sound/oss/harmony.c

index f3fdcb28ed213073f4127f95345a06a24e091ee4..934f079ebe3938ebb16454205f8d22cd00446567 100644 (file)
@@ -725,7 +725,7 @@ static int harmony_audio_ioctl(struct inode *inode,
                 info.fragments = MAX_BUFS - harmony.nb_filled_play;
                info.fragsize = HARMONY_BUF_SIZE;
                 info.bytes = info.fragments * info.fragsize;
-               return copy_to_user((void *)arg, &info, sizeof(info));
+               return copy_to_user((void *)arg, &info, sizeof(info)) ? -EFAULT : 0;
 
        case SNDCTL_DSP_GETISPACE:
                if (!(file->f_mode & FMODE_READ))
@@ -734,7 +734,7 @@ static int harmony_audio_ioctl(struct inode *inode,
                 info.fragments = /*MAX_BUFS-*/ harmony.nb_filled_record;
                info.fragsize = HARMONY_BUF_SIZE;
                 info.bytes = info.fragments * info.fragsize;
-               return copy_to_user((void *)arg, &info, sizeof(info));
+               return copy_to_user((void *)arg, &info, sizeof(info)) ? -EFAULT : 0;
        
        case SNDCTL_DSP_SYNC:
                return 0;