* src/incremen.c (store_rename): Free temp_name, leaked before for
each renamed directory with --listed-incremental.
* src/transform.c (add_literal_segment): Tighten arguments by
const.
(parse_transform_expr): Free 'str', leaked storage for each
--transform option before.
* src/utf8.c (utf8_convert): Deallocate buffer for failed iconv()
call so callers don't have to.
obstack_code_rename (stk, p->orig->name, p->name);
obstack_code_rename (stk, "", prev->name);
+ free (temp_name);
}
}
}
}
static void
-add_literal_segment (struct transform *tf, char *str, char *end)
+add_literal_segment (struct transform *tf, const char *str, const char *end)
{
size_t len = end - str;
if (len)
cur++;
}
add_literal_segment (tf, beg, cur);
+ free(str);
return p;
}
char *ob;
size_t inlen;
size_t outlen;
- size_t rc;
iconv_t cd = utf8_init (to_utf);
if (cd == 0)
outlen = inlen * MB_LEN_MAX + 1;
ob = *output = xmalloc (outlen);
ib = (char ICONV_CONST *) input;
- rc = iconv (cd, &ib, &inlen, &ob, &outlen);
+ if (iconv (cd, &ib, &inlen, &ob, &outlen) == -1)
+ {
+ free (*output);
+ return false;
+ }
*ob = 0;
- return rc != -1;
+ return true;
}
\f