From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49556) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZhWUG-0005CB-3s for qemu-devel@nongnu.org; Thu, 01 Oct 2015 01:33:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZhWUE-0000gb-NO for qemu-devel@nongnu.org; Thu, 01 Oct 2015 01:33:00 -0400 Received: from mail-io0-x233.google.com ([2607:f8b0:4001:c06::233]:33272) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZhWUE-0000gJ-IW for qemu-devel@nongnu.org; Thu, 01 Oct 2015 01:32:58 -0400 Received: by iofh134 with SMTP id h134so73480225iof.0 for ; Wed, 30 Sep 2015 22:32:58 -0700 (PDT) MIME-Version: 1.0 Date: Thu, 1 Oct 2015 11:02:58 +0530 Message-ID: From: Harmandeep Kaur Content-Type: multipart/alternative; boundary=001a113f8cb83961bd0521046191 Subject: [Qemu-devel] [PATCH v2] linux-user/syscall.c: malloc()/calloc() to g_malloc()/g_try_malloc()/g_new0() List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel Cc: Stefan Hajnoczi , Riku Voipio --001a113f8cb83961bd0521046191 Content-Type: text/plain; charset=UTF-8 Convert malloc()/calloc() calls to g_malloc()/g_try_malloc()/g_new0() in linux-user/syscall.c file v1->v2 convert the free() call in host_to_target_semarray() to g_free() and calls g_try_malloc(count) instead of g_try_malloc(sizeof(count)) Signed-off-by: Harmandeep Kaur --- linux-user/syscall.c | 38 +++++++++++--------------------------- 1 file changed, 11 insertions(+), 27 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index d1d3eb2..c79e862 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1554,12 +1554,7 @@ set_timeout: } fprog.len = tswap16(tfprog->len); - filter = malloc(fprog.len * sizeof(*filter)); - if (filter == NULL) { - unlock_user_struct(tfilter, tfprog->filter, 1); - unlock_user_struct(tfprog, optval_addr, 1); - return -TARGET_ENOMEM; - } + filter = g_malloc(fprog.len * sizeof(*filter)); for (i = 0; i < fprog.len; i++) { filter[i].code = tswap16(tfilter[i].code); filter[i].jt = tfilter[i].jt; @@ -1570,7 +1565,7 @@ set_timeout: ret = get_errno(setsockopt(sockfd, SOL_SOCKET, SO_ATTACH_FILTER, &fprog, sizeof(fprog))); - free(filter); + g_free(filter); unlock_user_struct(tfilter, tfprog->filter, 1); unlock_user_struct(tfprog, optval_addr, 1); @@ -1881,11 +1876,7 @@ static struct iovec *lock_iovec(int type, abi_ulong target_addr, return NULL; } - vec = calloc(count, sizeof(struct iovec)); - if (vec == NULL) { - errno = ENOMEM; - return NULL; - } + vec = g_new0(struct iovec, count); target_vec = lock_user(VERIFY_READ, target_addr, count * sizeof(struct target_iovec), 1); @@ -1945,7 +1936,7 @@ static struct iovec *lock_iovec(int type, abi_ulong target_addr, } unlock_user(target_vec, target_addr, 0); fail2: - free(vec); + g_free(vec); errno = err; return NULL; } @@ -2672,14 +2663,11 @@ static inline abi_long target_to_host_semarray(int semid, unsigned short **host_ nsems = semid_ds.sem_nsems; - *host_array = malloc(nsems*sizeof(unsigned short)); - if (!*host_array) { - return -TARGET_ENOMEM; - } + *host_array = g_malloc(nsems*sizeof(unsigned short)); array = lock_user(VERIFY_READ, target_addr, nsems*sizeof(unsigned short), 1); if (!array) { - free(*host_array); + g_free(*host_array); return -TARGET_EFAULT; } @@ -2716,7 +2704,7 @@ static inline abi_long host_to_target_semarray(int semid, abi_ulong target_addr, for(i=0; imtype = (abi_long) tswapal(target_mb->mtype); memcpy(host_mb->mtext, target_mb->mtext, msgsz); ret = get_errno(msgsnd(msqid, host_mb, msgsz, msgflg)); - free(host_mb); + g_free(host_mb); unlock_user_struct(target_mb, msgp, 0); return ret; @@ -7625,7 +7609,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, struct linux_dirent *dirp; abi_long count = arg3; - dirp = malloc(count); + dirp = g_try_malloc(count); if (!dirp) { ret = -TARGET_ENOMEM; goto fail; @@ -7662,7 +7646,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, ret = count1; unlock_user(target_dirp, arg2, ret); } - free(dirp); + g_free(dirp); } #else { -- 1.9.1 --001a113f8cb83961bd0521046191 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdj5Db252ZXJ0IG1hbGxvYygpL2NhbGxvYygpIGNhbGxzIHRvIGdf bWFsbG9jKCkvZ190cnlfbWFsbG9jKCkvZ19uZXcwKCk8YnI+aW4gbGludXgtdXNlci9zeXNjYWxs LmMgZmlsZTxicj48YnI+PC9kaXY+djEtJmd0O3YywqAgY29udmVydCB0aGUgZnJlZSgpIGNhbGwg aW4gaG9zdF90b190YXJnZXRfc2VtYXJyYXkoKTxicj4NCnRvIGdfZnJlZSgpIGFuZCBjYWxscyBn X3RyeV9tYWxsb2MoY291bnQpwqAgaW5zdGVhZCBvZiA8YnI+Z190cnlfbWFsbG9jKHNpemVvZihj b3VudCkpPGJyPjxicj5TaWduZWQtb2ZmLWJ5OiBIYXJtYW5kZWVwIEthdXIgJmx0OzxhIGhyZWY9 Im1haWx0bzp3cml0ZS5oYXJtYW5kZWVwQGdtYWlsLmNvbSI+d3JpdGUuaGFybWFuZGVlcEBnbWFp bC5jb208L2E+Jmd0Ozxicj4tLS08YnI+wqBsaW51eC11c2VyL3N5c2NhbGwuYyB8IDM4ICsrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPsKgMSBmaWxlIGNoYW5nZWQsIDEx IGluc2VydGlvbnMoKyksIDI3IGRlbGV0aW9ucygtKTxicj48YnI+ZGlmZiAtLWdpdCBhL2xpbnV4 LXVzZXIvc3lzY2FsbC5jIGIvbGludXgtdXNlci9zeXNjYWxsLmM8YnI+aW5kZXggZDFkM2ViMi4u Yzc5ZTg2MiAxMDA2NDQ8YnI+LS0tIGEvbGludXgtdXNlci9zeXNjYWxsLmM8YnI+KysrIGIvbGlu dXgtdXNlci9zeXNjYWxsLmM8YnI+QEAgLTE1NTQsMTIgKzE1NTQsNyBAQCBzZXRfdGltZW91dDo8 YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTxicj7CoDxicj7CoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcHJvZy5sZW4gPSB0c3dhcDE2KHRmcHJvZy0mZ3Q7bGVu KTs8YnI+LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmaWx0ZXIgPSBtYWxsb2MoZnBy b2cubGVuICogc2l6ZW9mKCpmaWx0ZXIpKTs8YnI+LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCBpZiAoZmlsdGVyID09IE5VTEwpIHs8YnI+LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHVubG9ja191c2VyX3N0cnVjdCh0ZmlsdGVyLCB0ZnByb2ctJmd0O2ZpbHRl ciwgMSk7PGJyPi3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB1bmxvY2tf dXNlcl9zdHJ1Y3QodGZwcm9nLCBvcHR2YWxfYWRkciwgMSk7PGJyPi3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gLVRBUkdFVF9FTk9NRU07PGJyPi3CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgfTxicj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgIGZpbHRlciA9IGdfbWFsbG9jKGZwcm9nLmxlbiAqIHNpemVvZigqZmlsdGVyKSk7PGJyPsKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZvciAoaSA9IDA7IGkgJmx0OyBmcHJvZy5s ZW47IGkrKykgezxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZp bHRlcltpXS5jb2RlID0gdHN3YXAxNih0ZmlsdGVyW2ldLmNvZGUpOzxicj7CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGZpbHRlcltpXS5qdCA9IHRmaWx0ZXJbaV0uanQ7 PGJyPkBAIC0xNTcwLDcgKzE1NjUsNyBAQCBzZXRfdGltZW91dDo8YnI+wqA8YnI+wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgcmV0ID0gZ2V0X2Vycm5vKHNldHNvY2tvcHQoc29ja2Zk LCBTT0xfU09DS0VULDxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFNPX0FUVEFDSF9GSUxURVIsICZhbXA7ZnByb2csIHNp emVvZihmcHJvZykpKTs8YnI+LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBmcmVlKGZp bHRlcik7PGJyPivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgZ19mcmVlKGZpbHRlcik7 PGJyPsKgPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHVubG9ja191c2VyX3N0 cnVjdCh0ZmlsdGVyLCB0ZnByb2ctJmd0O2ZpbHRlciwgMSk7PGJyPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgIHVubG9ja191c2VyX3N0cnVjdCh0ZnByb2csIG9wdHZhbF9hZGRyLCAx KTs8YnI+QEAgLTE4ODEsMTEgKzE4NzYsNyBAQCBzdGF0aWMgc3RydWN0IGlvdmVjICpsb2NrX2lv dmVjKGludCB0eXBlLCBhYmlfdWxvbmcgdGFyZ2V0X2FkZHIsPGJyPsKgwqDCoMKgwqDCoMKgwqAg cmV0dXJuIE5VTEw7PGJyPsKgwqDCoMKgIH08YnI+wqA8YnI+LcKgwqDCoCB2ZWMgPSBjYWxsb2Mo Y291bnQsIHNpemVvZihzdHJ1Y3QgaW92ZWMpKTs8YnI+LcKgwqDCoCBpZiAodmVjID09IE5VTEwp IHs8YnI+LcKgwqDCoMKgwqDCoMKgIGVycm5vID0gRU5PTUVNOzxicj4twqDCoMKgwqDCoMKgwqAg cmV0dXJuIE5VTEw7PGJyPi3CoMKgwqAgfTxicj4rwqDCoMKgIHZlYyA9IGdfbmV3MChzdHJ1Y3Qg aW92ZWMsIGNvdW50KTs8YnI+wqA8YnI+wqDCoMKgwqAgdGFyZ2V0X3ZlYyA9IGxvY2tfdXNlcihW RVJJRllfUkVBRCwgdGFyZ2V0X2FkZHIsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBjb3VudCAqIHNpemVvZihzdHJ1Y3QgdGFyZ2V0X2lv dmVjKSwgMSk7PGJyPkBAIC0xOTQ1LDcgKzE5MzYsNyBAQCBzdGF0aWMgc3RydWN0IGlvdmVjICps b2NrX2lvdmVjKGludCB0eXBlLCBhYmlfdWxvbmcgdGFyZ2V0X2FkZHIsPGJyPsKgwqDCoMKgIH08 YnI+wqDCoMKgwqAgdW5sb2NrX3VzZXIodGFyZ2V0X3ZlYywgdGFyZ2V0X2FkZHIsIDApOzxicj7C oCBmYWlsMjo8YnI+LcKgwqDCoCBmcmVlKHZlYyk7PGJyPivCoMKgwqAgZ19mcmVlKHZlYyk7PGJy PsKgwqDCoMKgIGVycm5vID0gZXJyOzxicj7CoMKgwqDCoCByZXR1cm4gTlVMTDs8YnI+wqB9PGJy PkBAIC0yNjcyLDE0ICsyNjYzLDExIEBAIHN0YXRpYyBpbmxpbmUgYWJpX2xvbmcgdGFyZ2V0X3Rv X2hvc3Rfc2VtYXJyYXkoaW50IHNlbWlkLCB1bnNpZ25lZCBzaG9ydCAqKmhvc3RfPGJyPsKgPGJy PsKgwqDCoMKgIG5zZW1zID0gc2VtaWRfZHMuc2VtX25zZW1zOzxicj7CoDxicj4twqDCoMKgICpo b3N0X2FycmF5ID0gbWFsbG9jKG5zZW1zKnNpemVvZih1bnNpZ25lZCBzaG9ydCkpOzxicj4twqDC oMKgIGlmICghKmhvc3RfYXJyYXkpIHs8YnI+LcKgwqDCoMKgwqDCoMKgIHJldHVybiAtVEFSR0VU X0VOT01FTTs8YnI+LcKgwqDCoCB9PGJyPivCoMKgwqAgKmhvc3RfYXJyYXkgPSBnX21hbGxvYyhu c2VtcypzaXplb2YodW5zaWduZWQgc2hvcnQpKTs8YnI+wqDCoMKgwqAgYXJyYXkgPSBsb2NrX3Vz ZXIoVkVSSUZZX1JFQUQsIHRhcmdldF9hZGRyLDxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBuc2VtcypzaXplb2YodW5zaWduZWQgc2hvcnQpLCAxKTs8YnI+ wqDCoMKgwqAgaWYgKCFhcnJheSkgezxicj4twqDCoMKgwqDCoMKgwqAgZnJlZSgqaG9zdF9hcnJh eSk7PGJyPivCoMKgwqDCoMKgwqDCoCBnX2ZyZWUoKmhvc3RfYXJyYXkpOzxicj7CoMKgwqDCoMKg wqDCoMKgIHJldHVybiAtVEFSR0VUX0VGQVVMVDs8YnI+wqDCoMKgwqAgfTxicj7CoDxicj5AQCAt MjcxNiw3ICsyNzA0LDcgQEAgc3RhdGljIGlubGluZSBhYmlfbG9uZyBob3N0X3RvX3RhcmdldF9z ZW1hcnJheShpbnQgc2VtaWQsIGFiaV91bG9uZyB0YXJnZXRfYWRkciw8YnI+wqDCoMKgwqAgZm9y KGk9MDsgaSZsdDtuc2VtczsgaSsrKSB7PGJyPsKgwqDCoMKgwqDCoMKgwqAgX19wdXRfdXNlcigo Kmhvc3RfYXJyYXkpW2ldLCAmYW1wO2FycmF5W2ldKTs8YnI+wqDCoMKgwqAgfTxicj4twqDCoMKg IGZyZWUoKmhvc3RfYXJyYXkpOzxicj4rwqDCoMKgIGdfZnJlZSgqaG9zdF9hcnJheSk7PGJyPsKg wqDCoMKgIHVubG9ja191c2VyKGFycmF5LCB0YXJnZXRfYWRkciwgMSk7PGJyPsKgPGJyPsKgwqDC oMKgIHJldHVybiAwOzxicj5AQCAtMjk3NSwxNSArMjk2MywxMSBAQCBzdGF0aWMgaW5saW5lIGFi aV9sb25nIGRvX21zZ3NuZChpbnQgbXNxaWQsIGFiaV9sb25nIG1zZ3AsPGJyPsKgPGJyPsKgwqDC oMKgIGlmICghbG9ja191c2VyX3N0cnVjdChWRVJJRllfUkVBRCwgdGFyZ2V0X21iLCBtc2dwLCAw KSk8YnI+wqDCoMKgwqDCoMKgwqDCoCByZXR1cm4gLVRBUkdFVF9FRkFVTFQ7PGJyPi3CoMKgwqAg aG9zdF9tYiA9IG1hbGxvYyhtc2dzeitzaXplb2YobG9uZykpOzxicj4twqDCoMKgIGlmICghaG9z dF9tYikgezxicj4twqDCoMKgwqDCoMKgwqAgdW5sb2NrX3VzZXJfc3RydWN0KHRhcmdldF9tYiwg bXNncCwgMCk7PGJyPi3CoMKgwqDCoMKgwqDCoCByZXR1cm4gLVRBUkdFVF9FTk9NRU07PGJyPi3C oMKgwqAgfTxicj4rwqDCoMKgIGhvc3RfbWIgPSBnX21hbGxvYyhtc2dzeitzaXplb2YobG9uZykp Ozxicj7CoMKgwqDCoCBob3N0X21iLSZndDttdHlwZSA9IChhYmlfbG9uZykgdHN3YXBhbCh0YXJn ZXRfbWItJmd0O210eXBlKTs8YnI+wqDCoMKgwqAgbWVtY3B5KGhvc3RfbWItJmd0O210ZXh0LCB0 YXJnZXRfbWItJmd0O210ZXh0LCBtc2dzeik7PGJyPsKgwqDCoMKgIHJldCA9IGdldF9lcnJubyht c2dzbmQobXNxaWQsIGhvc3RfbWIsIG1zZ3N6LCBtc2dmbGcpKTs8YnI+LcKgwqDCoCBmcmVlKGhv c3RfbWIpOzxicj4rwqDCoMKgIGdfZnJlZShob3N0X21iKTs8YnI+wqDCoMKgwqAgdW5sb2NrX3Vz ZXJfc3RydWN0KHRhcmdldF9tYiwgbXNncCwgMCk7PGJyPsKgPGJyPsKgwqDCoMKgIHJldHVybiBy ZXQ7PGJyPkBAIC03NjI1LDcgKzc2MDksNyBAQCBhYmlfbG9uZyBkb19zeXNjYWxsKHZvaWQgKmNw dV9lbnYsIGludCBudW0sIGFiaV9sb25nIGFyZzEsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCBzdHJ1Y3QgbGludXhfZGlyZW50ICpkaXJwOzxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg YWJpX2xvbmcgY291bnQgPSBhcmczOzxicj7CoDxicj4twqDCoMKgIMKgwqDCoCBkaXJwID0gbWFs bG9jKGNvdW50KTs8YnI+K8KgwqDCoCDCoMKgwqAgZGlycCA9IGdfdHJ5X21hbGxvYyhjb3VudCk7 PGJyPsKgwqDCoMKgIMKgwqDCoCBpZiAoIWRpcnApIHs8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgcmV0ID0gLVRBUkdFVF9FTk9NRU07PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIGdvdG8gZmFpbDs8YnI+QEAgLTc2NjIsNyArNzY0Niw3IEBAIGFiaV9sb25n IGRvX3N5c2NhbGwodm9pZCAqY3B1X2VudiwgaW50IG51bSwgYWJpX2xvbmcgYXJnMSw8YnI+wqDC oMKgwqAgwqDCoMKgIHJldCA9IGNvdW50MTs8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgdW5sb2NrX3VzZXIodGFyZ2V0X2RpcnAsIGFyZzIsIHJldCk7PGJyPsKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCB9PGJyPi3CoMKgwqAgwqDCoMKgIGZyZWUoZGlycCk7PGJyPivCoMKgwqAg wqDCoMKgIGdfZnJlZShkaXJwKTs8YnI+wqDCoMKgwqDCoMKgwqDCoCB9PGJyPsKgI2Vsc2U8YnI+ wqDCoMKgwqDCoMKgwqDCoCB7PGJyPi0tIDxicj4xLjkuMTxicj48YnI+PGJyPjwvZGl2Pg0K --001a113f8cb83961bd0521046191--