On 01/31/11 04:02 AM, Erkki Seppälä wrote:
> a negative value was passed to memcpy
> 
> Unfortunately the other return values for *status don't fit into the
> error (which appears to indicate some internal error or running out of
> memory). The other valid status codes are XBufferOverflow,
> XLookupNone, XLookupChars, XLookupKeySym, and XLookupBoth. Each of
> these has a specific meaning attached.
> 
> Reviewed-by: Ander Conselvan de Oliveira 
> <ander.conselvan-de-olive...@nokia.com>
> Signed-off-by: Erkki Seppälä <erkki.sepp...@vincit.fi>
> ---
>  modules/im/ximcp/imLcLkup.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/modules/im/ximcp/imLcLkup.c b/modules/im/ximcp/imLcLkup.c
> index 80e4cfe..4891176 100644
> --- a/modules/im/ximcp/imLcLkup.c
> +++ b/modules/im/ximcp/imLcLkup.c
> @@ -63,6 +63,10 @@ _XimLocalMbLookupString(XIC xic, XKeyEvent *ev, char 
> *buffer, int bytes,
>           unsigned char pattern = ic->private.local.brl_committed;
>           char mb[XLC_PUBLIC(ic->core.im->core.lcd, mb_cur_max)];
>           ret = _Xlcwctomb(ic->core.im->core.lcd, mb, BRL_UC_ROW | pattern);
> +         if(ret < 0) {
> +             if(status) *status = XLookupNone;
> +             return(0);
> +         }
>           if(ret > bytes) {
>               if(status) *status = XBufferOverflow;
>               return(ret);

Reviewed-by: Alan Coopersmith <alan.coopersm...@oracle.com>

-- 
        -Alan Coopersmith-        alan.coopersm...@oracle.com
         Oracle Solaris Platform Engineering: X Window System

_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to