diff options
| author | Peter Hutterer <peter.hutterer@who-t.net> | 2011-04-19 11:41:04 +0200 |
|---|---|---|
| committer | Henrik Rydberg <rydberg@euromail.se> | 2011-04-19 11:47:08 +0200 |
| commit | 61684cf0466200631b6a44af1c662eb760ad3f5d (patch) | |
| tree | 8d5beddec509aaa4ad668b6e5d546ac027009794 /src/core.c | |
| parent | 9e3daba37d1d15c99a41a2d838bf683934cc7077 (diff) | |
mtdev_close should ignore NULL devices.
Saves us one goto label in mtdev_init.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Diffstat (limited to 'src/core.c')
| -rw-r--r-- | src/core.c | 12 |
1 files changed, 7 insertions, 5 deletions
| @@ -365,11 +365,11 @@ int mtdev_open(struct mtdev *dev, int fd) | |||
| 365 | goto error; | 365 | goto error; |
| 366 | ret = mtdev_configure(dev, fd); | 366 | ret = mtdev_configure(dev, fd); |
| 367 | if (ret) | 367 | if (ret) |
| 368 | goto mtdev; | 368 | goto error; |
| 369 | return 0; | 369 | return 0; |
| 370 | mtdev: | 370 | |
| 371 | mtdev_close(dev); | ||
| 372 | error: | 371 | error: |
| 372 | mtdev_close(dev); | ||
| 373 | return ret; | 373 | return ret; |
| 374 | } | 374 | } |
| 375 | 375 | ||
| @@ -411,8 +411,10 @@ void mtdev_close_delete(struct mtdev *dev) | |||
| 411 | 411 | ||
| 412 | void mtdev_close(struct mtdev *dev) | 412 | void mtdev_close(struct mtdev *dev) |
| 413 | { | 413 | { |
| 414 | free(dev->state); | 414 | if (dev) { |
| 415 | memset(dev, 0, sizeof(struct mtdev)); | 415 | free(dev->state); |
| 416 | memset(dev, 0, sizeof(struct mtdev)); | ||
| 417 | } | ||
| 416 | } | 418 | } |
| 417 | 419 | ||
| 418 | void mtdev_delete(struct mtdev *dev) | 420 | void mtdev_delete(struct mtdev *dev) |
