aboutsummaryrefslogtreecommitdiffstats
path: root/hw
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@android.com>2011-03-15 23:08:50 +0100
committerDavid 'Digit' Turner <digit@android.com>2011-03-15 23:08:50 +0100
commite8ab08c1ee27349cb81cd5e8849a01a85da16775 (patch)
tree820c86645d685717e989648dac8cbbb41a05976c /hw
parent356e18be0ec6c7d92d116f75130e2cb8db4b114a (diff)
downloadexternal_qemu-e8ab08c1ee27349cb81cd5e8849a01a85da16775.zip
external_qemu-e8ab08c1ee27349cb81cd5e8849a01a85da16775.tar.gz
external_qemu-e8ab08c1ee27349cb81cd5e8849a01a85da16775.tar.bz2
Fix a crash that happened when the content directory didn't have a cache.img file.
This only happened for fresh newly-created AVDs. Existing ones used for testing the emulator already had a cache.img and booted properly. Change-Id: I87901ea5fb1dc6aa7d2bb3dd191de58d972c386f
Diffstat (limited to 'hw')
-rw-r--r--hw/goldfish_nand.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/hw/goldfish_nand.c b/hw/goldfish_nand.c
index 8d9b5db..eb0c355 100644
--- a/hw/goldfish_nand.c
+++ b/hw/goldfish_nand.c
@@ -688,10 +688,11 @@ void nand_add_dev(const char *arg)
if(value != NULL)
goto bad_arg_and_value;
devname_len = arg_len;
- devname = malloc(arg_len);
+ devname = malloc(arg_len+1);
if(devname == NULL)
goto out_of_memory;
memcpy(devname, arg, arg_len);
+ devname[arg_len] = 0;
}
else if(value == NULL) {
if(arg_match("readonly", arg, arg_len)) {
@@ -765,7 +766,7 @@ void nand_add_dev(const char *arg)
if(rwfilename) {
rwfd = open(rwfilename, O_BINARY | (read_only ? O_RDONLY : O_RDWR));
- if(rwfd < 0 && read_only) {
+ if(rwfd < 0) {
XLOG("could not open file %s, %s\n", rwfilename, strerror(errno));
exit(1);
}