Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Mar 07, 2007

  1. Shawn O. Pearce

    Cast 64 bit off_t to 32 bit size_t

    Some systems have sizeof(off_t) == 8 while sizeof(size_t) == 4.
    This implies that we are able to access and work on files whose
    maximum length is around 2^63-1 bytes, but we can only malloc or
    mmap somewhat less than 2^32-1 bytes of memory.
    
    On such a system an implicit conversion of off_t to size_t can cause
    the size_t to wrap, resulting in unexpected and exciting behavior.
    Right now we are working around all gcc warnings generated by the
    -Wshorten-64-to-32 option by passing the off_t through xsize_t().
    
    In the future we should make xsize_t on such problematic platforms
    detect the wrapping and die if such a file is accessed.
    
    Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
    Signed-off-by: Junio C Hamano <junkio@cox.net>
    authored March 06, 2007 Junio C Hamano committed March 07, 2007
Something went wrong with that request. Please try again.