Skip to content
  • Brad King's avatar
    Source: Avoid out-of-range inputs to std::isspace() · d9d9326e
    Brad King authored
    `isspace` takes `int` but documents that the value must be representable
    by `unsigned char`, or be EOF.  Use a wrapper to cast to `unsigned char`
    to avoid sign extension while converting to `int`.  This generalizes the
    fix from commit 5e8c176e (cmExecuteProcessCommand: Cast c to unsigned
    char before cast to int, 2024-01-05) to other `isspace` call sites.
    
    This was detected by assertions in the MSVC standard library while
    processing UTF-8 text.
    
    Issue: #25561
    d9d9326e