rem: sprintf(str,"%c%02d%02d%02d",sign,abs(h),abs(m),abs(s));
add: snprintf(str,9,"%c%02d%02d%02d",sign,abs(h),abs(m),abs(s));
context: char* icalvalue_utcoffset_as_ical_string(icalvalue* value){    int data,h,m,s;    char sign;    char* str = (char*)icalmemory_tmp_buffer(9);    icalerror_check_arg_rz( (value!=0),"value");    data = icalvalue_get_utcoffset(value);    if (abs(data) == data){	sign = '+';    } else {	sign = '-';    }    h = data/3600;    m = (data - (h*3600))/ 60;    s = (data - (h*3600) - (m*60));    sprintf(str,"%c%02d%02d%02d",sign,abs(h),abs(m),abs(s));    return str;}