Author: netchild
Date: Fri Mar 26 08:42:11 2010
New Revision: 205678
URL: http://svn.freebsd.org/changeset/base/205678

Log:
  Fix some problems which may lead to a panic:
   - right order of src and dst in memcpy
   - NULL out the clips after freeing to prevent an accident
  
  Noticed by:   hselasky

Modified:
  head/sys/compat/linux/linux_ioctl.c

Modified: head/sys/compat/linux/linux_ioctl.c
==============================================================================
--- head/sys/compat/linux/linux_ioctl.c Fri Mar 26 08:05:30 2010        
(r205677)
+++ head/sys/compat/linux/linux_ioctl.c Fri Mar 26 08:42:11 2010        
(r205678)
@@ -2711,7 +2711,7 @@ linux_v4l_clip_copy(void *lvc, struct vi
        /* XXX: If there can be no concurrency: s/M_NOWAIT/M_WAITOK/ */
        if ((*ppvc = malloc(sizeof(**ppvc), M_LINUX, M_NOWAIT)) == NULL)
                return (ENOMEM);    /* XXX: linux has no ENOMEM here */
-       memcpy(&vclip, *ppvc, sizeof(vclip));
+       memcpy(*ppvc, &vclip, sizeof(vclip));
        (*ppvc)->next = NULL;
        return (0);
 }
@@ -2726,6 +2726,8 @@ linux_v4l_cliplist_free(struct video_win
                ppvc_next = &((*ppvc)->next);
                free(*ppvc, M_LINUX);
        }
+       vw->clips = NULL;
+
        return (0);
 }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to