Pelo menos para a glibc, você não deveria. A origem indica que o ponteiro é para um membro de uma estrutura de estado interno, então não é algo que você pode liberar diretamente.
Os documentos também sugerem isso:
To read the entire content of the of the
fstab
file the GNU C Library contains a set of three functions which are designed in the usual way.
A maneira "usual" aqui é algo como getpwent
:
The return value may point to a static area, and may be overwritten by subsequent calls to
getpwent()
,getpwnam(3)
, orgetpwuid(3)
. (Do not pass the returned pointer tofree(3)
.)
Além disso, os documentos da glibc especificamente para getfsent
:
The function returns a pointer to a variable of type
struct fstab
. This variable is shared by all threads and therefore this function is not thread-safe. If an error occurred getfsent returns aNULL
pointer.
Que essa variável é compartilhada é uma strong indicação de que você não deve mexer no gerenciamento de memória.
Se você quiser liberar os recursos, use endfsent()
, que limpará o estado interno.