OpenSDE Packages Database (without history before r20070)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

42 lines
1.8 KiB

  1. # --- SDE-COPYRIGHT-NOTE-BEGIN ---
  2. # This copyright note is auto-generated by ./scripts/Create-CopyPatch.
  3. #
  4. # Filename: package/.../libchipcard/0002-libchipcard-5.0.0-init-reader-state.patch
  5. # Copyright (C) 2011 The OpenSDE Project
  6. #
  7. # More information can be found in the files COPYING and README.
  8. #
  9. # This patch file is dual-licensed. It is available under the license the
  10. # patched project is licensed under, as long as it is an OpenSource license
  11. # as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
  12. # of the GNU General Public License as published by the Free Software
  13. # Foundation; either version 2 of the License, or (at your option) any later
  14. # version.
  15. # --- SDE-COPYRIGHT-NOTE-END ---
  16. Description: Use the same struct when initializing the reader state with zero bytes avoids
  17. uninitialized memory or buffer overflow.
  18. Origin: Upstream
  19. Index: trunk/src/lib/client/base/client.c
  20. ===================================================================
  21. --- trunk/src/lib/client/base/client.c (revision 589)
  22. +++ trunk/src/lib/client/base/client.c (revision 590)
  23. @@ -872,7 +872,7 @@
  24. DBG_INFO(LC_LOGDOMAIN, "Creating reader \"%s\"", p);
  25. i=cl->readerCount;
  26. /* preset */
  27. - memset((void*) &(cl->readerStates[i]), 0, sizeof(SCARD_READERSTATE_A));
  28. + memset((void*) &(cl->readerStates[i]), 0, sizeof(SCARD_READERSTATE));
  29. cl->readerStates[i].szReader=p;
  30. cl->readerStates[i].dwCurrentState=SCARD_STATE_UNAWARE;
  31. /* reader added */
  32. @@ -948,7 +948,7 @@
  33. assert(cl);
  34. /* clear reader list and reader status list */
  35. - memset((void*) &cl->readerStates, 0, sizeof(SCARD_READERSTATE_A)*MAX_READERS);
  36. + memset((void*) &cl->readerStates, 0, sizeof(SCARD_READERSTATE)*MAX_READERS);
  37. cl->readerCount=0;
  38. free(cl->readerList);
  39. cl->readerList=NULL;