~ubuntu-branches/debian/lenny/dropbear/lenny

« back to all changes in this revision

Viewing changes to libtomcrypt/ocb_encrypt_authenticate_memory.c

  • Committer: Bazaar Package Importer
  • Author(s): Gerrit Pape
  • Date: 2005-05-25 22:38:17 UTC
  • mfrom: (1.2.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20050525223817-fdl653extybmz1zb
Tags: 0.45-3
* debian/dropbear.init: init script prints human readable message in case
  it's disabled (closes: #309099).
* debian/dropbear.postinst: configure: restart service through init script
  instead of start.
* debian/dropbear.prerm: set -u -> set -e.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
          unsigned char *tag,    unsigned long *taglen)
23
23
{
24
24
   int err;
25
 
   ocb_state ocb;
 
25
   ocb_state *ocb;
26
26
 
27
27
   _ARGCHK(key    != NULL);
28
28
   _ARGCHK(nonce  != NULL);
31
31
   _ARGCHK(tag    != NULL);
32
32
   _ARGCHK(taglen != NULL);
33
33
 
34
 
   if ((err = ocb_init(&ocb, cipher, key, keylen, nonce)) != CRYPT_OK) {
35
 
      return err;
36
 
   }
37
 
 
38
 
   while (ptlen > (unsigned long)ocb.block_len) {
39
 
        if ((err = ocb_encrypt(&ocb, pt, ct)) != CRYPT_OK) {
40
 
           return err;
 
34
   /* allocate ram */
 
35
   ocb = XMALLOC(sizeof(ocb_state));
 
36
   if (ocb == NULL) {
 
37
      return CRYPT_MEM;
 
38
   }
 
39
 
 
40
   if ((err = ocb_init(ocb, cipher, key, keylen, nonce)) != CRYPT_OK) {
 
41
      goto __ERR;
 
42
   }
 
43
 
 
44
   while (ptlen > (unsigned long)ocb->block_len) {
 
45
        if ((err = ocb_encrypt(ocb, pt, ct)) != CRYPT_OK) {
 
46
           goto __ERR;
41
47
        }
42
 
        ptlen   -= ocb.block_len;
43
 
        pt      += ocb.block_len;
44
 
        ct      += ocb.block_len;
 
48
        ptlen   -= ocb->block_len;
 
49
        pt      += ocb->block_len;
 
50
        ct      += ocb->block_len;
45
51
   }
46
52
 
47
 
   return ocb_done_encrypt(&ocb, pt, ptlen, ct, tag, taglen);
 
53
   err = ocb_done_encrypt(ocb, pt, ptlen, ct, tag, taglen);
 
54
__ERR:
 
55
#ifdef CLEAN_STACK
 
56
   zeromem(ocb, sizeof(ocb_state));
 
57
#endif
 
58
 
 
59
   XFREE(ocb);
 
60
 
 
61
   return err;
48
62
}
49
63
 
50
64
#endif