Merge "platform: msm_shared: Add support for msm8940"
diff --git a/app/aboot/aboot.c b/app/aboot/aboot.c
index 892ec72..6ac4a14 100644
--- a/app/aboot/aboot.c
+++ b/app/aboot/aboot.c
@@ -708,7 +708,7 @@
void generate_atags(unsigned *ptr, const char *cmdline,
void *ramdisk, unsigned ramdisk_size)
{
-
+ unsigned *orig_ptr = ptr;
ptr = atag_core(ptr);
ptr = atag_ramdisk(ptr, ramdisk, ramdisk_size);
ptr = target_atag_mem(ptr);
@@ -718,8 +718,18 @@
ptr = atag_ptable(&ptr);
}
- ptr = atag_cmdline(ptr, cmdline);
- ptr = atag_end(ptr);
+ /*
+ * Atags size filled till + cmdline size + 1 unsigned for 4-byte boundary + 4 unsigned
+ * for atag identifier in atag_cmdline and atag_end should be with in MAX_TAGS_SIZE bytes
+ */
+ if (((ptr - orig_ptr) + strlen(cmdline) + 5 * sizeof(unsigned)) < MAX_TAGS_SIZE) {
+ ptr = atag_cmdline(ptr, cmdline);
+ ptr = atag_end(ptr);
+ }
+ else {
+ dprintf(CRITICAL,"Crossing ATAGs Max size allowed\n");
+ ASSERT(0);
+ }
}
typedef void entry_func_ptr(unsigned, unsigned, unsigned*);
diff --git a/platform/msm_shared/display_menu.c b/platform/msm_shared/display_menu.c
index fb4e0a8..cea4937 100644
--- a/platform/msm_shared/display_menu.c
+++ b/platform/msm_shared/display_menu.c
@@ -257,12 +257,16 @@
/* Align Right */
str_target = str_align_right(str1, big_factor);
- if(str_target != NULL)
+ if(str_target != NULL) {
display_fbcon_menu_message(str_target, FBCON_TITLE_MSG, big_factor);
+ free(str_target);
+ }
str_target = str_align_right(str2, common_factor);
- if(str_target != NULL)
+ if(str_target != NULL) {
display_fbcon_menu_message(str_target, FBCON_TITLE_MSG, common_factor);
+ free(str_target);
+ }
display_fbcon_menu_message("\n< More options\n",
FBCON_COMMON_MSG, common_factor);
@@ -296,9 +300,6 @@
"Your device will boot in 5 seconds\n\n", FBCON_COMMON_MSG, common_factor);
msg_info->info.msg_type = type;
- if(str_target) {
- free(str_target);
- }
/* Initialize the time out time */
msg_info->info.timeout_time = 5000; //5s