summaryrefslogtreecommitdiff
path: root/src/udev/mtd_probe/probe_smartmedia.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/udev/mtd_probe/probe_smartmedia.c')
-rw-r--r--src/udev/mtd_probe/probe_smartmedia.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/udev/mtd_probe/probe_smartmedia.c b/src/udev/mtd_probe/probe_smartmedia.c
index eb74fe1eb6..5d58de6a87 100644
--- a/src/udev/mtd_probe/probe_smartmedia.c
+++ b/src/udev/mtd_probe/probe_smartmedia.c
@@ -28,6 +28,7 @@
#include <sys/types.h>
#include <unistd.h>
+#include "alloc-util.h"
#include "mtd_probe.h"
static const uint8_t cis_signature[] = {
@@ -35,16 +36,16 @@ static const uint8_t cis_signature[] = {
};
-void probe_smart_media(int mtd_fd, mtd_info_t* info)
-{
+void probe_smart_media(int mtd_fd, mtd_info_t* info) {
int sector_size;
int block_size;
int size_in_megs;
int spare_count;
- char* cis_buffer = malloc(SM_SECTOR_SIZE);
+ _cleanup_free_ uint8_t *cis_buffer = NULL;
int offset;
int cis_found = 0;
+ cis_buffer = malloc(SM_SECTOR_SIZE);
if (!cis_buffer)
return;
@@ -89,9 +90,8 @@ void probe_smart_media(int mtd_fd, mtd_info_t* info)
goto exit;
printf("MTD_FTL=smartmedia\n");
- free(cis_buffer);
- exit(0);
+ exit(EXIT_SUCCESS);
+
exit:
- free(cis_buffer);
return;
}