From bca38d6c015727c66248cd59908591806165ac83 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=A6=8C=20=EA=A6=AB=EA=A6=B6=20=EA=A6=8F=EA=A7=80?= =?UTF-8?q?=EA=A6=A6=EA=A6=BF=20=EA=A6=A7=20=EA=A6=AE=20=EA=A6=91=20?= =?UTF-8?q?=EA=A6=A9=20=EA=A6=AD=EA=A7=80?= Date: Wed, 18 Sep 2019 00:20:38 +0800 Subject: Fix crash when not all properties filled By properly initialising everything and checking before freeing --- main.c | 33 +++++++++++++++++++++++++-------- 1 file changed, 25 insertions(+), 8 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index 19e43c2..b2545b6 100644 --- a/main.c +++ b/main.c @@ -32,14 +32,31 @@ int main(void) rtclient_user_show(&user, name); if (user) { - printf("id: %s\npassword: %s\nname: %s\nemailaddress: %s\nrealname: %s\nnickname: %s\ngecos: %s\norganization: %s\naddress1: %s\naddress2: %s\ncity: %s\nstate: %s\nzip: %s\ncountry: %s\nhomephone: %s\nworkphone: %s\nmobilephone: %s\npagerphone: %s\ncontactinfo: %s\ncomments: %s\nsignature: %s\nlang: %s\nprivileged: %d\ndisabled: %d\n" - , user->id, user->password, user->name, user->emailaddress - , user->realname, user->nickname, user->gecos - , user->organization, user->address1, user->address2 - , user->city, user->state, user->zip, user->country - , user->homephone, user->workphone, user->mobilephone - , user->pagerphone, user->contactinfo, user->comments - , user->signature, user->lang, user->privileged + printf("id: %s\nname: %s\npassword: %s\nemailaddress: %s\nrealname: %s\nnickname: %s\norganization: %s\naddress1: %s\naddress2: %s\ncity: %s\nstate: %s\nzip: %s\ncountry: %s\nhomephone: %s\nworkphone: %s\nmobilephone: %s\npagerphone: %s\ncontactinfo: %s\ncomments: %s\nsignature: %s\ngecos: %s\nlang: %d\ntimezone: %d\nprivileged: %d\ndisabled: %d\n" + , user->id + , user->name + , user->password + , user->emailaddress + , user->realname + , user->nickname + , user->organization + , user->address1 + , user->address2 + , user->city + , user->state + , user->zip + , user->country + , user->homephone + , user->workphone + , user->mobilephone + , user->pagerphone + , user->contactinfo + , user->comments + , user->signature + , user->gecos + , user->lang + , user->timezone + , user->privileged , user->disabled); rtclient_user_free(user); -- cgit v1.2.3