--- src/money.5.c 2015-08-03 04:31:25.000000000 +0900 +++ src/money.6.c 2015-08-03 04:31:25.000000000 +0900 @@ -1,38 +1,45 @@ #include #include "money.h" struct Money { int amount; char *currency; }; Money *money_create(int amount, char *currency) { - Money *m = malloc(sizeof(Money)); + Money *m; + + if (amount < 0) + { + return NULL; + } + + m = malloc(sizeof(Money)); if (m == NULL) { return NULL; } m->amount = amount; m->currency = currency; return m; } int money_amount(Money * m) { return m->amount; } char *money_currency(Money * m) { return m->currency; } void money_free(Money * m) { free(m); return; }