X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/61ccf1dbeea93978803303d2cd43efa5da2cc7d1..521674623:/uip/dropsbr.c?ds=inline diff --git a/uip/dropsbr.c b/uip/dropsbr.c index 5fcef29e..2cf5b598 100644 --- a/uip/dropsbr.c +++ b/uip/dropsbr.c @@ -40,7 +40,7 @@ static int map_open (char *, int); int mbx_open (char *file, int mbx_style, uid_t uid, gid_t gid, mode_t mode) { - int j, count, fd; + int j, count, fd = NOTOK; struct stat st; j = 0; @@ -61,7 +61,7 @@ mbx_open (char *file, int mbx_style, uid_t uid, gid_t gid, mode_t mode) case ETXTBSY: j = errno; sleep (5); - break; + continue; default: /* just return error */ @@ -306,6 +306,10 @@ mbx_copy (char *mailbox, int mbx_style, int md, int fd, } while ((i = read (fd, buffer, sizeof(buffer))) > 0) { + /* valgrind noticed that stringdex depends on null + termination. */ + buffer[i] = '\0'; + for (j = 0; (j = stringdex (mmdlm1, buffer)) >= 0; buffer[j]++)