* locale/programs/linereader.c (lr_open): Don't pass NULL to
xstrdup; fix memory leak.
(lr_close): Fix memory leak.
result = (struct linereader *) xmalloc (sizeof (*result));
result->fp = fp;
- result->fname = xstrdup (fname);
+ result->fname = xstrdup (fname ? : "<stdin>");
result->buf = NULL;
result->bufsize = 0;
result->lineno = 1;
{
int save = errno;
fclose (result->fp);
+ free (result->fname);
free (result);
errno = save;
return NULL;
lr_close (struct linereader *lr)
{
fclose (lr->fp);
+ free (lr->fname);
free (lr->buf);
free (lr);
}