rem: orig_tzid = (char*)strdup(getenv("TZ"));
add: orig_tzid = (char*)icalmemory_strdup(getenv("TZ"));
context: struct set_tz_save set_tz(const char* tzid){    char *orig_tzid = 0;    char *new_env_str;    struct set_tz_save savetz;    size_t tmp_sz;     savetz.orig_tzid = 0;    savetz.new_env_str = 0;    if(getenv("TZ") != 0){	orig_tzid = (char*)strdup(getenv("TZ"));	if(orig_tzid == 0){            icalerror_set_errno(ICAL_NEWFAILED_ERROR);	    return savetz;	}    }    tmp_sz =strlen(tzid)+4;     new_env_str = (char*)malloc(tmp_sz);    if(new_env_str == 0){        icalerror_set_errno(ICAL_NEWFAILED_ERROR);	return savetz;    }        /* Copy the TZid into a string with the form that putenv expects. */    strcpy(new_env_str,"TZ=");    strcpy(new_env_str+3,tzid);    putenv(new_env_str);     /* Old value of TZ and the string we will have to free later */    savetz.orig_tzid = orig_tzid;    savetz.new_env_str = new_env_str;    return savetz;}