Date: Tue, 10 Jan 2012 19:54:53 +0000 (UTC) From: Guy Helmer <ghelmer@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r229938 - head/lib/libc/gen Message-ID: <201201101954.q0AJsrUY025194@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ghelmer Date: Tue Jan 10 19:54:53 2012 New Revision: 229938 URL: http://svn.freebsd.org/changeset/base/229938 Log: Revert unintentional commit of changes to getnetgrent.c. Modified: head/lib/libc/gen/getnetgrent.c Modified: head/lib/libc/gen/getnetgrent.c ============================================================================== --- head/lib/libc/gen/getnetgrent.c Tue Jan 10 19:53:25 2012 (r229937) +++ head/lib/libc/gen/getnetgrent.c Tue Jan 10 19:54:53 2012 (r229938) @@ -203,7 +203,9 @@ setnetgrent(const char *group) if (parse_netgrp(group)) endnetgrent(); else { - grouphead.grname = strdup(group); + grouphead.grname = (char *) + malloc(strlen(group) + 1); + strcpy(grouphead.grname, group); } if (netf) fclose(netf); @@ -415,7 +417,7 @@ static int parse_netgrp(const char *group) { char *spos, *epos; - int len, strpos, freepos; + int len, strpos; #ifdef DEBUG int fields; #endif @@ -452,9 +454,9 @@ parse_netgrp(const char *group) while (pos != NULL && *pos != '\0') { if (*pos == '(') { grp = (struct netgrp *)malloc(sizeof (struct netgrp)); - if (grp == NULL) - return(1); bzero((char *)grp, sizeof (struct netgrp)); + grp->ng_next = grouphead.gr; + grouphead.gr = grp; pos++; gpos = strsep(&pos, ")"); #ifdef DEBUG @@ -475,13 +477,6 @@ parse_netgrp(const char *group) if (len > 0) { grp->ng_str[strpos] = (char *) malloc(len + 1); - if (grp->ng_str[strpos] == NULL) { - for (freepos = 0; freepos < strpos; freepos++) - if (grp->ng_str[freepos] != NULL) - free(grp->ng_str[freepos]); - free(grp); - return(1); - } bcopy(spos, grp->ng_str[strpos], len + 1); } @@ -495,8 +490,6 @@ parse_netgrp(const char *group) grp->ng_str[strpos] = NULL; } } - grp->ng_next = grouphead.gr; - grouphead.gr = grp; #ifdef DEBUG /* * Note: on other platforms, malformed netgroup @@ -533,7 +526,7 @@ parse_netgrp(const char *group) static struct linelist * read_for_group(const char *group) { - char *pos, *spos, *linep; + char *pos, *spos, *linep, *olinep; int len, olen; int cont; struct linelist *lp; @@ -541,7 +534,6 @@ read_for_group(const char *group) #ifdef YP char *result; int resultlen; - linep = NULL; while (_netgr_yp_enabled || fgets(line, LINSIZ, netf) != NULL) { if (_netgr_yp_enabled) { @@ -562,7 +554,6 @@ read_for_group(const char *group) free(result); } #else - linep = NULL; while (fgets(line, LINSIZ, netf) != NULL) { #endif pos = (char *)&line; @@ -585,14 +576,8 @@ read_for_group(const char *group) pos++; if (*pos != '\n' && *pos != '\0') { lp = (struct linelist *)malloc(sizeof (*lp)); - if (lp == NULL) - return(NULL); lp->l_parsed = 0; lp->l_groupname = (char *)malloc(len + 1); - if (lp->l_groupname == NULL) { - free(lp); - return(NULL); - } bcopy(spos, lp->l_groupname, len); *(lp->l_groupname + len) = '\0'; len = strlen(pos); @@ -610,15 +595,15 @@ read_for_group(const char *group) } else cont = 0; if (len > 0) { - linep = (char *)reallocf(linep, olen + len + 1); - if (linep == NULL) { - free(lp->l_groupname); - free(lp); - return(NULL); + linep = (char *)malloc(olen + len + 1); + if (olen > 0) { + bcopy(olinep, linep, olen); + free(olinep); } bcopy(pos, linep + olen, len); olen += len; *(linep + olen) = '\0'; + olinep = linep; } if (cont) { if (fgets(line, LINSIZ, netf)) { @@ -649,5 +634,5 @@ read_for_group(const char *group) */ rewind(netf); #endif - return (NULL); + return ((struct linelist *)0); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201201101954.q0AJsrUY025194>