Showing error 1896

User: Jiri Slaby
Error type: Invalid Pointer Dereference
Error type description: A pointer which is invalid is being dereferenced
File location: net/mac80211/mlme.c
Line in file: 689
Project: Linux Kernel
Project version: 2.6.28
Tools: Smatch (1.59)
Entered: 2013-09-11 08:47:26 UTC


Source:

 659                return;
 660
 661        buf = kmalloc(50 + 2 * (ifsta->assocreq_ies_len +
 662                                ifsta->assocresp_ies_len), GFP_KERNEL);
 663        if (!buf)
 664                return;
 665
 666        len = sprintf(buf, "ASSOCINFO(");
 667        if (ifsta->assocreq_ies) {
 668                len += sprintf(buf + len, "ReqIEs=");
 669                for (i = 0; i < ifsta->assocreq_ies_len; i++) {
 670                        len += sprintf(buf + len, "%02x",
 671                                       ifsta->assocreq_ies[i]);
 672                }
 673        }
 674        if (ifsta->assocresp_ies) {
 675                if (ifsta->assocreq_ies)
 676                        len += sprintf(buf + len, " ");
 677                len += sprintf(buf + len, "RespIEs=");
 678                for (i = 0; i < ifsta->assocresp_ies_len; i++) {
 679                        len += sprintf(buf + len, "%02x",
 680                                       ifsta->assocresp_ies[i]);
 681                }
 682        }
 683        len += sprintf(buf + len, ")");
 684
 685        if (len > IW_CUSTOM_MAX) {
 686                len = sprintf(buf, "ASSOCRESPIE=");
 687                for (i = 0; i < ifsta->assocresp_ies_len; i++) {
 688                        len += sprintf(buf + len, "%02x",
 689                                       ifsta->assocresp_ies[i]);
 690                }
 691        }
 692
 693        if (len <= IW_CUSTOM_MAX) {
 694                memset(&wrqu, 0, sizeof(wrqu));
 695                wrqu.data.length = len;
 696                wireless_send_event(sdata->dev, IWEVCUSTOM, &wrqu, buf);
 697        }
 698
 699        kfree(buf);
Show full sources