From: Denis Fondras Subject: pppd(8): cleanup To: tech@openbsd.org Date: Sat, 17 Aug 2024 11:21:28 +0200 Replace homemade copy_of() with strdup(). Also fix the FSM state and a comment. Index: fsm.c =================================================================== RCS file: /cvs/src/usr.sbin/pppd/fsm.c,v diff -u -p -r1.9 fsm.c --- fsm.c 9 Aug 2024 05:16:13 -0000 1.9 +++ fsm.c 17 Aug 2024 09:19:59 -0000 @@ -399,6 +399,7 @@ fsm_rconfreq(fsm *f, int id, u_char *inp if( f->callbacks->down ) (*f->callbacks->down)(f); /* Inform upper layers */ fsm_sconfreq(f, 0); /* Send initial Configure-Request */ + f->state = REQSENT; break; case STOPPED: @@ -434,10 +435,10 @@ fsm_rconfreq(fsm *f, int id, u_char *inp f->nakloops = 0; } else { - /* we sent CONFACK or CONFREJ */ + /* we sent CONFNACK or CONFREJ */ if (f->state != ACKRCVD) f->state = REQSENT; - if( code == CONFNAK ) + if(code == CONFNAK) ++f->nakloops; } } @@ -539,6 +540,7 @@ fsm_rconfnakrej(fsm *f, int code, int id f->state = STOPPED; /* kludge for stopping CCP */ else fsm_sconfreq(f, 0); /* Send Configure-Request */ + f->state = REQSENT; break; case ACKRCVD: Index: chat/chat.c =================================================================== RCS file: /cvs/src/usr.sbin/pppd/chat/chat.c,v diff -u -p -r1.37 chat.c --- chat/chat.c 10 Aug 2024 05:32:28 -0000 1.37 +++ chat/chat.c 17 Aug 2024 09:19:59 -0000 @@ -172,7 +172,6 @@ int clear_report_next = 0; int say_next = 0, hup_next = 0; -void *dup_mem(void *b, size_t c); void usage(void); void logmsg(const char *fmt, ...); void fatal(int code, const char *fmt, ...); @@ -204,22 +203,6 @@ int vfmtmsg(char *, int, const char *, v int main(int, char *[]); -void * -dup_mem(void *b, size_t c) -{ - void *ans = malloc (c); - if (!ans) - fatal(2, "memory error!"); - - memcpy (ans, b, c); - return ans; -} - -void *copy_of (char *s) -{ - return dup_mem (s, strlen (s) + 1); -} - /* * chat [ -v ] [-T number] [-U number] [ -t timeout ] [ -f chat-file ] \ * [ -r report-file ] \ @@ -267,7 +250,7 @@ main(int argc, char **argv) case 'r': if (report_fp != NULL) fclose (report_fp); - report_file = copy_of (optarg); + report_file = strdup(optarg); report_fp = fopen (report_file, "a"); if (report_fp != NULL) { if (verbose)