Browse Source

null check for getpwuid and pw_name

master
Martin Stiborsky 10 years ago
parent
commit
6ffe86ca12
  1. 7
      i3lock.c

7
i3lock.c

@ -661,7 +661,8 @@ static void raise_loop(xcb_window_t window) {
} }
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
char *username = getpwuid(getuid())->pw_name; struct passwd *pw = getpwuid(getuid());
char *username;
char *image_path = NULL; char *image_path = NULL;
int ret; int ret;
struct pam_conv conv = {conv_callback, NULL}; struct pam_conv conv = {conv_callback, NULL};
@ -686,8 +687,10 @@ int main(int argc, char *argv[]) {
{NULL, no_argument, NULL, 0} {NULL, no_argument, NULL, 0}
}; };
if (username == NULL) if (pw == NULL)
err(EXIT_FAILURE, "getpwuid() failed"); err(EXIT_FAILURE, "getpwuid() failed");
if ((username = pw->pw_name) == NULL)
errx(EXIT_FAILURE, "pw->pw_name is NULL.\n");
char *optstring = "hvnbdc:p:ui:teI:f"; char *optstring = "hvnbdc:p:ui:teI:f";
while ((o = getopt_long(argc, argv, optstring, longopts, &optind)) != -1) { while ((o = getopt_long(argc, argv, optstring, longopts, &optind)) != -1) {

Loading…
Cancel
Save