X-Git-Url: http://git.ozlabs.org/?p=ppp.git;a=blobdiff_plain;f=chat%2Fchat.c;fp=chat%2Fchat.c;h=fa67fd24213e2e80d4611c438b52526831f36d11;hp=a5bfb9fe328d8886fc1c8288a696bf5c3409fbb6;hb=1fe5196b10fc30b1dfb8b4b0ac5bf2b6fa49c297;hpb=6292210a9d14c0d947a5c3fb10f0d289815cd24f diff --git a/chat/chat.c b/chat/chat.c index a5bfb9f..fa67fd2 100644 --- a/chat/chat.c +++ b/chat/chat.c @@ -1344,10 +1344,10 @@ int get_string(register char *string) char temp[STR_LEN]; int c, printed = 0, len, minlen; register char *s = temp, *end = s + STR_LEN; - char *logged = temp; + char *s1, *logged = temp; fail_reason = (char *)0; - string = clean(string, 0); + string = s1 = clean(string, 0); len = strlen(string); minlen = (len > sizeof(fail_buffer)? len: sizeof(fail_buffer)) - 1; @@ -1357,12 +1357,14 @@ int get_string(register char *string) if (len > STR_LEN) { msgf("expect string is too long"); exit_code = 1; + free(s1); return 0; } if (len == 0) { if (verbose) msgf("got it"); + free(s1); return (1); } @@ -1410,6 +1412,7 @@ int get_string(register char *string) strftime (report_buffer, 20, "%b %d %H:%M:%S ", tm_now); strcat (report_buffer, report_string[n]); + free(report_string[n]); report_string[n] = (char *) NULL; report_gathering = 1; break; @@ -1441,6 +1444,7 @@ int get_string(register char *string) alarm(0); alarmed = 0; + free(s1); return (1); } @@ -1457,6 +1461,7 @@ int get_string(register char *string) alarmed = 0; exit_code = n + 4; strcpy(fail_reason = fail_buffer, abort_string[n]); + free(s1); return (0); } } @@ -1488,6 +1493,7 @@ int get_string(register char *string) exit_code = 3; alarmed = 0; + free(s1); return (0); }