Remove files when message is not decodable.
---
src/service.c | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/service.c b/src/service.c
index f148252..7f2a302 100644
--- a/src/service.c
+++ b/src/service.c
@@ -961,6 +961,7 @@ static gboolean load_message_from_store(const char
*service_id,
gboolean read_status;
char *data_path = NULL;
gboolean success = FALSE;
+ gboolean tainted = FALSE;
void *pdu;
size_t len;
@@ -984,6 +985,7 @@ static gboolean load_message_from_store(const char
*service_id,
if (mms_message_decode(pdu, len, msg) == FALSE) {
mms_error("Failed to decode %s", data_path);
munmap(pdu, len);
+ tainted = TRUE;
goto out;
}
@@ -1019,6 +1021,9 @@ out:
mms_store_meta_close(service_id, uuid, meta, FALSE);
+ if (tainted == TRUE)
+ mms_store_remove(service_id, uuid);
+
return success;
}
--
1.7.4.1
_______________________________________________
ofono mailing list
[email protected]
http://lists.ofono.org/listinfo/ofono