Messages in this thread | | | Date | Mon, 2 Jun 1997 02:15:05 +0200 (CEST) | From | Regis Duchesne <> | Subject | [2.1.41] kernel: a.out: Exception at ... |
| |
The small piece of code (at the end of this mail) triggers a reproducible exception :
Celine kernel: a.out: Exception at [<c015c1de>] (c017c5cb)
Where my System.map shows :
c015c1a8 T devinet_ioctl <-- in net/ipv4/devinet.c c015c5e4 T destroy_sock
This is probably because the 3rd argument of ioctl() is NULL instead of being a struct ifreq * (according to man ioctl_list). Neithertheless, shouldn't this be checked instead of letting it cause an exception? Is it normal?
Note that the ioctl rightly returns -1 with errno="Bad address" though.
This works with 2.1.26 too...
---------------------------------
#include <sys/types.h> #include <sys/ioctl.h> #include <sys/socket.h>
int main(int argc, char *argv[]) { int sock, type;
type = SOCK_DGRAM; sock = socket(AF_INET, type, 0); ioctl(sock, SIOCGIFBRDADDR, NULL); exit(0); }
Regis "HPReg" Duchesne - Engineering Student at ***** ******** ***** www http://www.via.ecp.fr/~regis/ (O o) I use Linux & 3Com (1135 Kb/s over 10Mb/s ethernet) --.oOO--(_)--OOo.-----------------------------------------------------------
| |