Changeset 2914 for releases

Show
Ignore:
Timestamp:
04/26/06 10:08:09 (3 years ago)
Author:
aj
Message:

make sure buffer is 0 terminated.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • releases/opensc-0.11.0/src/libopensc/log.c

    r2777 r2914  
    9999 
    100100        if (file != NULL) { 
    101                 r = snprintf(buf, sizeof(buf), "%s:%d:%s: ", file, line, func ? func : ""); 
    102                 if (r < 0 || (unsigned int)r > sizeof(buf)) 
     101                r = snprintf(buf, sizeof(buf)-1, "%s:%d:%s: ", file, line, func ? func : ""); 
     102                if (r < 0 || (unsigned int)r >= sizeof(buf)) 
    103103                        return; 
    104104        } else { 
     
    108108        left = sizeof(buf) - r; 
    109109 
    110         r = vsnprintf(p, left, format, args); 
     110        r = vsnprintf(p, left-1, format, args); 
    111111        if (r < 0) 
    112112                return; 
    113113        p += r; 
    114114        left -= r; 
     115        /* make sure the string is 0 terminated */ 
     116        buf[sizeof(buf)-1] = 0; 
    115117 
    116118        display_fn(ctx, buf);