~ubuntu-branches/ubuntu/lucid/libtasn1-3/lucid-security

« back to all changes in this revision

Viewing changes to lib/parser_aux.c

  • Committer: Package Import Robot
  • Author(s): Marc Deslauriers
  • Date: 2015-04-02 11:27:53 UTC
  • Revision ID: package-import@ubuntu.com-20150402112753-ek5d5e0lzmg7r3mr
Tags: 2.4-1ubuntu0.3
* SECURITY UPDATE: denial of service and possible code execution via
  overflow in _asn1_ltostr
  - debian/patches/CVE-2015-2806.patch: introduce LTOSTR_MAX_SIZE and use
    in lib/coding.c, lib/decoding.c, lib/element.c, lib/parser_aux.c,
    lib/parser_aux.h.
  - CVE-2015-2806

Show diffs side-by-side

added added

removed removed

Lines of Context:
580
580
 
581
581
 
582
582
char *
583
 
_asn1_ltostr (long v, char *str)
 
583
_asn1_ltostr (long v, char str[LTOSTR_MAX_SIZE])
584
584
{
585
585
  long d, r;
586
 
  char temp[20];
 
586
  char temp[LTOSTR_MAX_SIZE];
587
587
  int count, k, start;
588
588
 
589
589
  if (v < 0)
604
604
      count++;
605
605
      v = d;
606
606
    }
607
 
  while (v);
 
607
  while (v && ((start+count) < LTOSTR_MAX_SIZE-1));
608
608
 
609
609
  for (k = 0; k < count; k++)
610
610
    str[k + start] = temp[start + count - k - 1];