egalloc.c 811 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include "os.h"
  2. #include <mp.h>
  3. #include <libsec.h>
  4. EGpub*
  5. egpuballoc(void)
  6. {
  7. EGpub *eg;
  8. eg = mallocz(sizeof(*eg), 1);
  9. if(eg == nil)
  10. sysfatal("egpuballoc");
  11. return eg;
  12. }
  13. void
  14. egpubfree(EGpub *eg)
  15. {
  16. if(eg == nil)
  17. return;
  18. mpfree(eg->p);
  19. mpfree(eg->alpha);
  20. mpfree(eg->key);
  21. free(eg);
  22. }
  23. EGpriv*
  24. egprivalloc(void)
  25. {
  26. EGpriv *eg;
  27. eg = mallocz(sizeof(*eg), 1);
  28. if(eg == nil)
  29. sysfatal("egprivalloc");
  30. return eg;
  31. }
  32. void
  33. egprivfree(EGpriv *eg)
  34. {
  35. if(eg == nil)
  36. return;
  37. mpfree(eg->pub.p);
  38. mpfree(eg->pub.alpha);
  39. mpfree(eg->pub.key);
  40. mpfree(eg->secret);
  41. free(eg);
  42. }
  43. EGsig*
  44. egsigalloc(void)
  45. {
  46. EGsig *eg;
  47. eg = mallocz(sizeof(*eg), 1);
  48. if(eg == nil)
  49. sysfatal("egsigalloc");
  50. return eg;
  51. }
  52. void
  53. egsigfree(EGsig *eg)
  54. {
  55. if(eg == nil)
  56. return;
  57. mpfree(eg->r);
  58. mpfree(eg->s);
  59. free(eg);
  60. }