Debugging Question:
Download Questions PDF

What is the output of this program no 14?
#include<stdio.h>
#include<sys/types.h>
#include<sys/un.h>
#include<sys/socket.h>
#include<errno.h>

int main()
{
struct sockaddr_un addr;
int fd;
fd = socket(AF_UNIX,SOCK_STREAM,0);
if (fd == -1)
perror("socket");
addr.sun_family = AF_UNIX;
strcpy(addr.sun_path,"san_sock");
if (bind(4,(struct sockaddr*)&addr,sizeof(addr)) == -1)
printf("Sanfoudnryn");
return 0;
}
a) this program will print the string "google"
b) this program will not print the string "google"
c) segmentation fault
d) none of the mentioned

Linux Debugging Interview Question
Linux Debugging Interview Question

Answer:

a) this program will print the string "google"
Explanation:
The first argument of the bind() is not a valid file descriptor in this program.
Output:
[root@localhost google]# gcc -o san san.c
[root@localhost google]# ./san
Sanfoudnry
[root@localhost google]#

Download Linux Debugging Interview Questions And Answers PDF

Previous QuestionNext Question
What is the output of this program?

#include<stdio.h>
#include<sys/types.h>
#include<sys/socket.h>

int main()
{
int fd;
fd = socket(AF_UNIX,SOCK_STREAM,0);
printf("%dn",fd);
return 0;
}
a) 0
b) 1
c) 2
d) 3
What this program is not able to connect with any client program?

#include<stdio.h>
#include<sys/types.h>
#include<sys/un.h>
#include<sys/socket.h>

int main()
{
struct sockaddr_un add_server, add_client;
int fd_server, fd_client;
int len;
char ch;
fd_server = socket(AF_UNIX,SOCK_STREAM,0);
if(fd_server == -1)
perror("socket");
add_server.sun_family = AF_UNIX;
strcpy(add_server.sun_path,"san_sock");
if( bind(fd_server,(struct sockaddr*)&add_server,sizeof(add_server)) != 0)
perror("bind");
len = sizeof(add_client);
fd_client = accept(fd_server,(struct sockaddr*)&add_client,&len);
printf("googlen");
return 0;
}
a) the listen() is missing
b) the connect() is missing
c) the read() and write() are missing
d) none of the mentioned