Добрый день, ЛОР!
Столкнулся с такой проблемой:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <grp.h>
int main(void) {
gid_t gid=504;
struct group *gr=NULL;
if( (gr=getgrgid(gid)) == NULL)
perror(«GetGrGid »);
fprintf(stdout,«Name: %s\n»,gr->gr_name);
free(gr);
return 0;
}
struct group {
char *gr_name; /* group name */
char *gr_passwd; /* group password */
gid_t gr_gid; /* group ID */
char **gr_mem; /* group members */
};
При попытке освободить память free(gr) получаю ошибку:
*** glibc detected *** ./gr: free(): invalid pointer: 0x0000003c59752700 ***
Подскажите нубу, что я делаю не так?