Hi YAEGASHI, On Fri, Jun 24, 2005 at 09:49:59PM +0900, YAEGASHI Takeshi wrote: > --- util-linux-2.12p.orig/mount/lomount.c 2005-06-24 20:39:36.073263112 > +0900 > +++ util-linux-2.12p/mount/lomount.c 2005-06-24 21:12:33.783174438 +0900
(...) > + strcpy(passwdbuff+1,pass); > passwdbuff[0] = 'A'; > - rmd160_hash_buffer(keybits,pass,strlen(pass)); > - > rmd160_hash_buffer(keybits+HASHLENGTH,passwdbuff,strlen(pass)+1); > + rmd160_hash_buffer(keybits,pass,passwdlen); > + rmd160_hash_buffer(keybits+HASHLENGTH,passwdbuff,passwdlen+1); > + memset(pass, 0, passwdlen); > + free(passwdbuff); This looks like it leaves the passphrase as free'd memory on the heap. Maybe add a memset before freeing the buffer? > memcpy((char*)loopinfo64.lo_encrypt_key,keybits,2*HASHLENGTH); > keylength=0; > for(i=0; crypt_type_tbl[i].id != -1; i++){ > @@ -423,15 +426,18 @@ > default: > if (hash_password) { (...) > + strcpy(passwdbuff+1,pass); > passwdbuff[0] = 'A'; > - rmd160_hash_buffer(keybits,pass,strlen(pass)); > - > rmd160_hash_buffer(keybits+HASHLENGTH,passwdbuff,strlen(pass)+1); > - memset(pass, 0, strlen(pass)); > + rmd160_hash_buffer(keybits,pass,passwdlen); > + > rmd160_hash_buffer(keybits+HASHLENGTH,passwdbuff,passwdlen+1); > + memset(pass, 0, passwdlen); > + free(passwdbuff); Similar thing here. cheers, Max -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]