From: "Christian Göttsche" <cgzones@googlemail.com>
To: selinux@vger.kernel.org
Subject: [PATCH 2/3] checkpolicy: simplify string copying
Date: Wed, 9 Nov 2022 21:09:38 +0100 [thread overview]
Message-ID: <20221109200939.62525-2-cgzones@googlemail.com> (raw)
In-Reply-To: <20221109200939.62525-1-cgzones@googlemail.com>
Use strdup(3) instead of allocating memory and then manually copying the
content.
Signed-off-by: Christian Göttsche <cgzones@googlemail.com>
---
checkpolicy/checkpolicy.c | 10 ++++------
checkpolicy/policy_define.c | 3 +--
checkpolicy/test/dispol.c | 5 ++---
3 files changed, 7 insertions(+), 11 deletions(-)
diff --git a/checkpolicy/checkpolicy.c b/checkpolicy/checkpolicy.c
index 926ce72c..48c31261 100644
--- a/checkpolicy/checkpolicy.c
+++ b/checkpolicy/checkpolicy.c
@@ -1148,12 +1148,11 @@ int main(int argc, char **argv)
FGETS(ans, sizeof(ans), stdin);
ans[strlen(ans) - 1] = 0;
- name = malloc((strlen(ans) + 1) * sizeof(char));
+ name = strdup(ans);
if (name == NULL) {
- fprintf(stderr, "couldn't malloc string.\n");
+ fprintf(stderr, "couldn't strdup string.\n");
break;
}
- strcpy(name, ans);
printf("state? ");
FGETS(ans, sizeof(ans), stdin);
@@ -1296,12 +1295,11 @@ int main(int argc, char **argv)
FGETS(ans, sizeof(ans), stdin);
ans[strlen(ans) - 1] = 0;
- name = malloc((strlen(ans) + 1) * sizeof(char));
+ name = strdup(ans);
if (!name) {
- fprintf(stderr, "couldn't malloc string.\n");
+ fprintf(stderr, "couldn't strdup string.\n");
break;
}
- strcpy(name, ans);
printf("port? ");
FGETS(ans, sizeof(ans), stdin);
diff --git a/checkpolicy/policy_define.c b/checkpolicy/policy_define.c
index 54bb304b..41e44631 100644
--- a/checkpolicy/policy_define.c
+++ b/checkpolicy/policy_define.c
@@ -117,12 +117,11 @@ int insert_id(const char *id, int push)
char *newid = 0;
int error;
- newid = (char *)malloc(strlen(id) + 1);
+ newid = strdup(id);
if (!newid) {
yyerror("out of memory");
return -1;
}
- strcpy(newid, id);
if (push)
error = queue_push(id_queue, (queue_element_t) newid);
else
diff --git a/checkpolicy/test/dispol.c b/checkpolicy/test/dispol.c
index 8ddefb04..36a3362c 100644
--- a/checkpolicy/test/dispol.c
+++ b/checkpolicy/test/dispol.c
@@ -486,12 +486,11 @@ int main(int argc, char **argv)
}
ans[strlen(ans) - 1] = 0;
- name = malloc((strlen(ans) + 1) * sizeof(char));
+ name = strdup(ans);
if (name == NULL) {
- fprintf(stderr, "couldn't malloc string.\n");
+ fprintf(stderr, "couldn't strdup string.\n");
break;
}
- strcpy(name, ans);
printf("state? ");
if (fgets(ans, sizeof(ans), stdin) == NULL) {
--
2.38.1
next prev parent reply other threads:[~2022-11-09 20:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-09 20:09 [PATCH 1/3] libselinux: simplify string copying Christian Göttsche
2022-11-09 20:09 ` Christian Göttsche [this message]
2022-11-09 20:09 ` [PATCH 3/3] libsepol: " Christian Göttsche
2022-11-10 13:55 ` [PATCH 1/3] libselinux: " James Carter
2022-11-21 20:55 ` James Carter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221109200939.62525-2-cgzones@googlemail.com \
--to=cgzones@googlemail.com \
--cc=selinux@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).