drivers/* strlcpy conversions
Subsystems (23)
PATCH 1/1 drivers/* strlcpy conversions
Well, this is it for me and strlcpy. I'll leave the rest of the non-obvious usages of strncpy to the kernel janitors. Seems like quite a few uses really wanted memcpy instead, but I don't have time to investigate them all. It does appear that nearly all strncpy's will be removable. Obsoleting strncpy will probably atleast make the remaining few think about how they are using it.
This is the patch for my trip through drivers/*.
drivers/media/video/zr36067.c +1 -1
@@ -3356,7 +3356,7 @@struct video_capability b;DEBUG2 (printk ("%s: ioctl VIDIOCGCAP\n" , zr->name)); -strncpy (b.name, zr->video_dev.name, +strlcpy (b.name, zr->video_dev.name,sizeof (b.name)); b.type = VID_TYPE_CAPTURE | VID_TYPE_OVERLAY |
drivers/media/video/bttv-driver.c +2 -2
@@ -2309,7 +2309,7 @@if (0 == v4l2)return -EINVAL ;strcpy (cap->driver,"bttv" ); -strncpy (cap->card,btv->video_dev.name,sizeof (cap->card)); +strlcpy (cap->card,btv->video_dev.name,sizeof (cap->card));sprintf (cap->bus_info,"PCI:%s" ,btv->dev->slot_name); cap->version =BTTV_VERSION_CODE ; cap->capabilities =
@@ -2367,7 +2367,7 @@ f->index = index; f->type = type; f->pixelformat = bttv_formats[i].fourcc; -strncpy (f->description,bttv_formats[i].name,31 ); +strlcpy (f->description,bttv_formats[i].name,sizeof (f->description));return 0 ; }
drivers/media/video/saa7185.c +1 -1
@@ -202,7 +202,7 @@memset (encoder,0 ,sizeof (*encoder)); -strncpy (client->dev.name,"saa7185" ,DEVICE_NAME_SIZE ); +strlcpy (client->dev.name,"saa7185" ,DEVICE_NAME_SIZE ); encoder->client = client;i2c_set_clientdata (client, encoder); encoder->addr = addr;
drivers/media/video/adv7175.c +1 -1
@@ -191,7 +191,7 @@// We should never get here!!! dname = unknown_name; } -strncpy (client->dev.name, dname,DEVICE_NAME_SIZE ); +strlcpy (client->dev.name, dname,DEVICE_NAME_SIZE );init_MUTEX (&encoder->lock); encoder->client = client;i2c_set_clientdata (client, encoder);
drivers/media/video/saa7134/saa7134-oss.c +4 -4
@@ -636,8 +636,8 @@ {mixer_info info;memset (&info,0 ,sizeof (info)); -strncpy (info.id,"TV audio" ,sizeof (info.id)-1 ); -strncpy (info.name, dev->name,sizeof (info.name)-1 ); +strlcpy (info.id,"TV audio" ,sizeof (info.id)); +strlcpy (info.name, dev->name,sizeof (info.name)); info.modify_counter = dev->oss.count;if (copy_to_user ((void *)arg, &info,sizeof (info)))return -EFAULT ;
@@ -647,8 +647,8 @@ {_old_mixer_info info;memset (&info,0 ,sizeof (info)); -strncpy (info.id,"TV audio" ,sizeof (info.id)-1 ); -strncpy (info.name, dev->name,sizeof (info.name)-1 ); +strlcpy (info.id,"TV audio" ,sizeof (info.id)); +strlcpy (info.name, dev->name,sizeof (info.name));if (copy_to_user ((void *)arg, &info,sizeof (info)))return -EFAULT ;return 0 ;
drivers/media/video/saa7134/saa7134-video.c +3 -3
@@ -1501,7 +1501,7 @@memset (cap,0 ,sizeof (*cap));strcpy (cap->driver,"saa7134" ); -strncpy (cap->card, saa7134_boards[dev->board].name, +strlcpy (cap->card, saa7134_boards[dev->board].name,sizeof (cap->card));sprintf (cap->bus_info,"PCI:%s" ,dev->pci->slot_name); cap->version =SAA7134_VERSION_CODE ;
@@ -1733,7 +1733,7 @@memset (f,0 ,sizeof (*f)); f->index = index; f->type = type; -strncpy (f->description,formats[index].name,31 ); +strlcpy (f->description,formats[index].name,sizeof (f->description)); f->pixelformat = formats[index].fourcc;break ;case V4L2_BUF_TYPE_VBI_CAPTURE :
@@ -1901,7 +1901,7 @@memset (cap,0 ,sizeof (*cap));strcpy (cap->driver,"saa7134" ); -strncpy (cap->card, saa7134_boards[dev->board].name, +strlcpy (cap->card, saa7134_boards[dev->board].name,sizeof (cap->card));sprintf (cap->bus_info,"PCI:%s" ,dev->pci->slot_name); cap->version =SAA7134_VERSION_CODE ;
drivers/media/video/saa7134/saa7134-ts.c +2 -2
@@ -251,7 +251,7 @@memset (cap,0 ,sizeof (*cap));strcpy (cap->driver,"saa7134" ); -strncpy (cap->card, saa7134_boards[dev->board].name, +strlcpy (cap->card, saa7134_boards[dev->board].name,sizeof (cap->card));sprintf (cap->bus_info,"PCI:%s" ,dev->pci->slot_name); cap->version =SAA7134_VERSION_CODE ;
@@ -300,7 +300,7 @@memset (f,0 ,sizeof (*f)); f->index = index; -strncpy (f->description,"MPEG TS" ,31 ); +strlcpy (f->description,"MPEG TS" ,sizeof (f->description)); f->type =V4L2_BUF_TYPE_VIDEO_CAPTURE ; f->pixelformat =V4L2_PIX_FMT_MPEG ;return 0 ;
drivers/media/video/bt856.c +1 -1
@@ -123,7 +123,7 @@memset (encoder,0 ,sizeof (struct bt856 )); -strncpy (client->dev.name,"bt856" ,DEVICE_NAME_SIZE ); +strlcpy (client->dev.name,"bt856" ,DEVICE_NAME_SIZE ); encoder->client = client;i2c_set_clientdata (client, encoder); encoder->addr = client->addr;
drivers/media/video/saa7110.c +1 -1
@@ -176,7 +176,7 @@/* clear our private data */ memset (decoder,0 ,sizeof (*decoder)); -strncpy (client->dev.name,IF_NAME ,DEVICE_NAME_SIZE ); +strlcpy (client->dev.name,IF_NAME ,DEVICE_NAME_SIZE ); decoder->client = client;i2c_set_clientdata (client, decoder); decoder->addr = addr;
drivers/media/video/v4l2-common.c +1 -1
@@ -113,7 +113,7 @@ vs->frameperiod.denominator =25 ; vs->framelines =625 ; } -strncpy (vs->name,name,sizeof (vs->name)); +strlcpy (vs->name,name,sizeof (vs->name));return 0 ; }
drivers/media/video/saa5249.c +1 -1
@@ -171,7 +171,7 @@return -ENOMEM ; }memset (t,0 ,sizeof (*t)); -strncpy (client->dev.name,IF_NAME ,DEVICE_NAME_SIZE ); +strlcpy (client->dev.name,IF_NAME ,DEVICE_NAME_SIZE );init_MUTEX (&t->lock);/*
drivers/media/video/tvmixer.c +4 -4
@@ -83,8 +83,8 @@if (cmd ==SOUND_MIXER_INFO ) {mixer_info info; -strncpy (info.id,"tv card" ,sizeof (info.id)); -strncpy (info.name,i2c_clientname (client),sizeof (info.name)); +strlcpy (info.id,"tv card" ,sizeof (info.id)); +strlcpy (info.name,i2c_clientname (client),sizeof (info.name)); info.modify_counter =42 /* FIXME */ ;if (copy_to_user ((void *)arg, &info,sizeof (info)))return -EFAULT ;
@@ -92,8 +92,8 @@ }if (cmd ==SOUND_OLD_MIXER_INFO ) {_old_mixer_info info; -strncpy (info.id,"tv card" ,sizeof (info.id)); -strncpy (info.name,i2c_clientname (client),sizeof (info.name)); +strlcpy (info.id,"tv card" ,sizeof (info.id)); +strlcpy (info.name,i2c_clientname (client),sizeof (info.name));if (copy_to_user ((void *)arg, &info,sizeof (info)))return -EFAULT ;return 0 ;
drivers/media/video/bt819.c +1 -1
@@ -172,7 +172,7 @@ }memset (decoder,0 ,sizeof (struct bt819 )); -strncpy (client->dev.name,"bt819" ,DEVICE_NAME_SIZE ); +strlcpy (client->dev.name,"bt819" ,DEVICE_NAME_SIZE );i2c_set_clientdata (client, decoder); decoder->client = client; decoder->addr = addr;
drivers/media/video/saa7111.c +1 -1
@@ -122,7 +122,7 @@ }memset (decoder,0 ,sizeof (*decoder)); -strncpy (client->dev.name,"saa7111" ,DEVICE_NAME_SIZE ); +strlcpy (client->dev.name,"saa7111" ,DEVICE_NAME_SIZE ); decoder->client = client;i2c_set_clientdata (client, decoder); decoder->addr = addr;
drivers/media/video/tuner.c +2 -2
@@ -824,7 +824,7 @@if (type <TUNERS ) { t->type = type;printk ("tuner(bttv): type forced to %d (%s) [insmod]\n" ,t->type,tuners[t->type].name); -strncpy (client->dev.name, tuners[t->type].name,DEVICE_NAME_SIZE ); +strlcpy (client->dev.name, tuners[t->type].name,DEVICE_NAME_SIZE ); }i2c_attach_client (client);if (t->type ==TUNER_MT2032 )
@@ -875,7 +875,7 @@ t->type = *iarg;printk ("tuner: type set to %d (%s)\n" , t->type,tuners[t->type].name); -strncpy (client->dev.name, tuners[t->type].name,DEVICE_NAME_SIZE ); +strlcpy (client->dev.name, tuners[t->type].name,DEVICE_NAME_SIZE );if (t->type ==TUNER_MT2032 )mt2032_init (client);break ;
drivers/media/common/saa7146_video.c +2 -2
@@ -801,7 +801,7 @@DEB_EE (("VIDIOC_QUERYCAP\n" ));strcpy (cap->driver,"saa7146 v4l2" ); -strncpy (cap->card, dev->ext->name,sizeof (cap->card)); +strlcpy (cap->card, dev->ext->name,sizeof (cap->card));sprintf (cap->bus_info,"PCI:%s" ,dev->pci->slot_name); cap->version =SAA7146_VERSION_CODE ; cap->capabilities =
@@ -868,7 +868,7 @@ }memset (f,0 ,sizeof (*f)); f->index = index; -strncpy (f->description,formats[index].name,31 ); +strlcpy (f->description,formats[index].name,sizeof (f->description)); f->pixelformat = formats[index].pixelformat;break ; }
drivers/media/common/saa7146_fops.c +1 -1
@@ -430,7 +430,7 @@DEB_EE (("dev:%p, name:'%s'\n" ,dev,name)); *vid = device_template; -strncpy (vid->name, name,32 ); +strlcpy (vid->name, name,sizeof (vid->name)); vid->priv = dev;// fixme: -1 should be an insmod parameter *for the extension* (like "video_nr");
drivers/hotplug/pci_hotplug_core.c +1 -1
@@ -529,7 +529,7 @@if ((slot->info ==NULL ) || (slot->ops ==NULL ))return -EINVAL ; -strncpy (slot->kobj.name, slot->name,KOBJ_NAME_LEN ); +strlcpy (slot->kobj.name, slot->name,KOBJ_NAME_LEN );kobj_set_kset_s (slot, hotplug_slots_subsys);/* this can fail if we have already registered a slot with the same name */
drivers/message/fusion/mptctl.c +6 -5
@@ -1317,7 +1317,7 @@/* Set the Version Strings. */ -strncpy (karg.driverVersion,MPT_LINUX_PACKAGE_NAME ,MPT_IOCTL_VERSION_LENGTH ); +strlcpy (karg.driverVersion,MPT_LINUX_PACKAGE_NAME ,MPT_IOCTL_VERSION_LENGTH ); karg.busChangeEvent =0 ; karg.hostId = ioc->pfacts[port].PortSCSIID;
@@ -1517,8 +1517,8 @@#else karg.chip_type = ioc->chip_type;#endif -strncpy (karg.name, ioc->name,MPT_MAX_NAME ); -strncpy (karg.product, ioc->prod_name,MPT_PRODUCT_LENGTH ); +strlcpy (karg.name, ioc->name,MPT_MAX_NAME ); +strlcpy (karg.product, ioc->prod_name,MPT_PRODUCT_LENGTH );/* Copy the data from kernel memory to user memory */
@@ -2488,7 +2488,7 @@ cfg.dir =0 ;/* read */ cfg.timeout =10 ; -strncpy (karg.serial_number," " ,24 ); +strlcpy (karg.serial_number," " ,sizeof (karg.serial_number));if (mpt_config (ioc, &cfg) ==0 ) {if (cfg.hdr->PageLength >0 ) {/* Issue the second config page request */
@@ -2500,7 +2500,8 @@if (mpt_config (ioc, &cfg) ==0 ) {ManufacturingPage0_t *pdata = (ManufacturingPage0_t *) pbuf;if (strlen (pdata->BoardTracerNumber) >1 ) -strncpy (karg.serial_number, pdata->BoardTracerNumber,24 ); +strlcpy (karg.serial_number, pdata->BoardTracerNumber, +sizeof (karg.serial_number)); }pci_free_consistent (ioc->pcidev, hdr.PageLength *4 , pbuf, buf_dma); pbuf =NULL ;
drivers/mtd/cmdline.c +2 -4
@@ -187,8 +187,7 @@ parts[this_part].mask_flags = mask_flags;if (name) { -strncpy (extra_mem, name, name_len); - extra_mem[name_len] =0 ; +strlcpy (extra_mem, name, name_len +1 ); }else {
@@ -267,8 +266,7 @@ this_mtd->parts = parts; this_mtd->num_parts = num_parts; this_mtd->mtd_id = (char *)(this_mtd +1 ); -strncpy (this_mtd->mtd_id, mtd_id, mtd_id_len); - this_mtd->mtd_id[mtd_id_len] =0 ; +strlcpy (this_mtd->mtd_id, mtd_id, mtd_id_len +1 );/* link into chain */ this_mtd->next = partitions;
drivers/mtd/chips/jedec.c +2 -4
@@ -168,8 +168,7 @@/* Generate a part name that includes the number of different chips and other configuration information */ count =1 ; -strncpy (Part,map->name,sizeof (Part)-10 ); - Part[sizeof (Part)-11 ] =0 ; +strlcpy (Part,map->name,sizeof (Part)-10 );strcat (Part," " ); Uniq =0 ;for (I =0 ; priv->chips[I ].jedec !=0 &&I <MAX_JEDEC_CHIPS ;I ++)
@@ -246,8 +245,7 @@// printk("Part: '%s'\n",Part); memset (MTD ,0 ,sizeof (*MTD )); -// strncpy(MTD->name,Part,sizeof(MTD->name)); -// MTD->name[sizeof(MTD->name)-1] = 0; +// strlcpy(MTD->name,Part,sizeof(MTD->name)); MTD ->name = map->name;MTD ->type =MTD_NORFLASH ;MTD ->flags =MTD_CAP_NORFLASH ;
drivers/isdn/isdnloop/isdnloop.c +7 -7
@@ -125,7 +125,7 @@char *s =strpbrk (t,"," ); *s++ ='\0' ; -strncpy (cmd->parm.setup.phone, t,sizeof (cmd->parm.setup.phone)); +strlcpy (cmd->parm.setup.phone, t,sizeof (cmd->parm.setup.phone)); s =strpbrk (t = s,"," ); *s++ ='\0' ;if (!strlen (t))
@@ -139,7 +139,7 @@else cmd->parm.setup.si2 =simple_strtoul (t,NULL ,10 ); -strncpy (cmd->parm.setup.eazmsn, s,sizeof (cmd->parm.setup.eazmsn)); +strlcpy (cmd->parm.setup.eazmsn, s,sizeof (cmd->parm.setup.eazmsn)); cmd->parm.setup.plan =0 ; cmd->parm.setup.screen =0 ; }
@@ -228,21 +228,21 @@break ;case 5 :/* CIF */ -strncpy (cmd.parm.num, status +3 ,sizeof (cmd.parm.num) -1 ); +strlcpy (cmd.parm.num, status +3 ,sizeof (cmd.parm.num));break ;case 6 :/* AOC */ -sprintf (cmd.parm.num,"%d" , +snprintf (cmd.parm.num,sizeof (cmd.parm.num),"%d" , (int )simple_strtoul (status +7 ,NULL ,16 ));break ;case 7 :/* CAU */ status +=3 ;if (strlen (status) ==4 ) -sprintf (cmd.parm.num,"%s%c%c" , +snprintf (cmd.parm.num,sizeof (cmd.parm.num),"%s%c%c" , status +2 , *status, *(status +1 ));else -strncpy (cmd.parm.num, status +1 ,sizeof (cmd.parm.num) -1 ); +strlcpy (cmd.parm.num, status +1 ,sizeof (cmd.parm.num));break ;case 8 :/* Misc Errors on L1 and L2 */
@@ -1467,7 +1467,7 @@ISDN_FEATURE_L3_TRANS |ISDN_FEATURE_P_UNKNOWN ; card->ptype =ISDN_PTYPE_UNKNOWN ; -strncpy (card->interface.id, id,sizeof (card->interface.id) -1 ); +strlcpy (card->interface.id, id,sizeof (card->interface.id)); card->msg_buf_write = card->msg_buf; card->msg_buf_read = card->msg_buf; card->msg_buf_end = &card->msg_buf[sizeof (card->msg_buf) -1 ];
drivers/isdn/i4l/isdn_net_lib.c +3 -5
@@ -270,8 +270,7 @@int chidx =-1 ;char drvid[25 ]; -strncpy (drvid, cfg->drvid,24 ); - drvid[24 ] =0 ; +strlcpy (drvid, cfg->drvid,sizeof (drvid));if (cfg->exclusive && !strlen (drvid)) {/* If we want to bind exclusively, need to specify drv/chan */
@@ -562,8 +561,7 @@if (retval) goto out; -strncpy (mlp->msn, cfg->eaz,ISDN_MSNLEN -1 ); - mlp->msn[ISDN_MSNLEN -1 ] =0 ; +strlcpy (mlp->msn, cfg->eaz,sizeof (mlp->msn)); mlp->onhtime = cfg->onhtime; idev->charge = cfg->charge; mlp->l2_proto = cfg->l2_proto;
@@ -864,7 +862,7 @@ slot = idev->isdn_slot; -strncpy (phone->phone, slot->num,ISDN_MSNLEN ); +strlcpy (phone->phone, slot->num,sizeof (phone->phone)); phone->outgoing =USG_OUTGOING (slot->usage);if (copy_to_user (peer, phone,sizeof (*peer)))
drivers/isdn/i4l/isdn_ppp.c +2 -2
@@ -467,11 +467,11 @@memset (&pci,0 ,sizeof (pci)); mlp = idev->mlp; -strncpy (pci.local_num, mlp->msn,63 ); +strlcpy (pci.local_num, mlp->msn,sizeof (pci.local_num)); i =0 ;list_for_each_entry (phone, &mlp->phone[1 ], list) {if (i++ == idev->dial) { -strncpy (pci.remote_num,phone->num,63 ); +strlcpy (pci.remote_num,phone->num,sizeof (pci.remote_num));break ; } }
drivers/isdn/eicon/eicon_idi.c +2 -4
@@ -1118,8 +1118,7 @@//eicon_log(NULL, 128, "sT30:universal_7 = %x\n", t30->universal_7); eicon_log (NULL ,128 ,"sT30:station_id_len = %x\n" , t30->station_id_len);eicon_log (NULL ,128 ,"sT30:head_line_len = %x\n" , t30->head_line_len); -strncpy (st, t30->station_id, t30->station_id_len); - st[t30->station_id_len] =0 ; +strlcpy (st, t30->station_id, t30->station_id_len +1 );eicon_log (NULL ,128 ,"sT30:station_id = <%s>\n" , st); }return (sizeof (eicon_t30_s));
@@ -1195,8 +1194,7 @@//eicon_log(ccard, 128, "rT30:universal_7 = %x\n", p->universal_7); eicon_log (ccard,128 ,"rT30:station_id_len = %x\n" , p->station_id_len);eicon_log (ccard,128 ,"rT30:head_line_len = %x\n" , p->head_line_len); -strncpy (st, p->station_id, p->station_id_len); - st[p->station_id_len] =0 ; +strlcpy (st, p->station_id, p->station_id_len +1 );eicon_log (ccard,128 ,"rT30:station_id = <%s>\n" , st); }if (!chan->fax) {
drivers/isdn/eicon/eicon_mod.c +1 -1
@@ -848,7 +848,7 @@ISDN_FEATURE_P_UNKNOWN ; card->interface.hl_hdrlen =20 ; card->ptype =ISDN_PTYPE_UNKNOWN ; -strncpy (card->interface.id, id,sizeof (card->interface.id) -1 ); +strlcpy (card->interface.id, id,sizeof (card->interface.id)); card->myid =-1 ; card->type = Type;switch (Type) {
drivers/isdn/hardware/avm/b1.c +3 -4
@@ -433,9 +433,9 @@ j++, i += cinfo->versionbuf[i] + 1) cinfo->version[j] = &cinfo->versionbuf[i +1 ]; -strncpy (ctrl->serial, cinfo->version[VER_SERIAL ],CAPI_SERIAL_LEN ); +strlcpy (ctrl->serial, cinfo->version[VER_SERIAL ],sizeof (ctrl->serial));memcpy (&ctrl->profile, cinfo->version[VER_PROFILE ],sizeof (capi_profile)); -strncpy (ctrl->manu,"AVM GmbH" ,CAPI_MANUFACTURER_LEN ); +strlcpy (ctrl->manu,"AVM GmbH" ,sizeof (ctrl->manu)); dversion = cinfo->version[VER_DRIVER ]; ctrl->version.majorversion =2 ; ctrl->version.minorversion =0 ;
@@ -785,8 +785,7 @@char rev[32 ];if ((p =strchr (revision,':' )) !=0 && p[1 ]) { -strncpy (rev, p +2 ,sizeof (rev)); - rev[sizeof (rev)-1 ] =0 ; +strlcpy (rev, p +2 ,sizeof (rev));if ((p =strchr (rev,'$' )) !=0 && p > rev) *(p-1 ) =0 ; }else
drivers/isdn/hardware/avm/b1dma.c +1 -2
@@ -945,8 +945,7 @@char rev[32 ];if ((p =strchr (revision,':' )) !=0 && p[1 ]) { -strncpy (rev, p +2 ,sizeof (rev)); - rev[sizeof (rev)-1 ] =0 ; +strlcpy (rev, p +2 ,sizeof (rev));if ((p =strchr (rev,'$' )) !=0 && p > rev) *(p-1 ) =0 ; }else
drivers/isdn/hardware/avm/avm_cs.c +1 -1
@@ -320,7 +320,7 @@ devname[0 ] =0 ;if ( !first_tuple (handle, &tuple, &parse) && parse.version_1.ns >1 ) { -strncpy (devname,parse.version_1.str + parse.version_1.ofs[1 ], +strlcpy (devname,parse.version_1.str + parse.version_1.ofs[1 ],sizeof (devname)); }/*
drivers/isdn/hardware/eicon/um_idi.c +2 -2
@@ -66,8 +66,8 @@ sync_req.GetName.Req =0 ; sync_req.GetName.Rc =IDI_SYNC_REQ_GET_NAME ; (*(a->d.request)) ((ENTITY *) & sync_req); -strncpy (features->name, sync_req.GetName.name, -sizeof (features->name) -1 ); +strlcpy (features->name, sync_req.GetName.name, +sizeof (features->name)); sync_req.GetSerial.Req =0 ; sync_req.GetSerial.Rc =IDI_SYNC_REQ_GET_SERIAL ;
drivers/isdn/hardware/eicon/i4l_idi.c +2 -4
@@ -1127,8 +1127,7 @@//eicon_log(NULL, 128, "sT30:universal_7 = %x\n", t30->universal_7); eicon_log (NULL ,128 ,"sT30:station_id_len = %x\n" , t30->station_id_len);eicon_log (NULL ,128 ,"sT30:head_line_len = %x\n" , t30->head_line_len); -strncpy (st, t30->station_id, t30->station_id_len); - st[t30->station_id_len] =0 ; +strlcpy (st, t30->station_id, t30->station_id_len +1 );eicon_log (NULL ,128 ,"sT30:station_id = <%s>\n" , st); }return (sizeof (eicon_t30_s));
@@ -1204,8 +1203,7 @@//eicon_log(ccard, 128, "rT30:universal_7 = %x\n", p->universal_7); eicon_log (ccard,128 ,"rT30:station_id_len = %x\n" , p->station_id_len);eicon_log (ccard,128 ,"rT30:head_line_len = %x\n" , p->head_line_len); -strncpy (st, p->station_id, p->station_id_len); - st[p->station_id_len] =0 ; +strlcpy (st, p->station_id, p->station_id_len +1 );eicon_log (ccard,128 ,"rT30:station_id = <%s>\n" , st); }if (!chan->fax) {
drivers/isdn/hardware/eicon/divasfunc.c +4 -10
@@ -77,16 +77,10 @@ d.features = IoAdapters[card -1 ]->Properties.Features;DBG_TRC (("DIDD register A(%d) channels=%d" , card, d.channels)) - /* workaround for different Name in structure */ -strncpy (IoAdapters[card -1 ]->Name, - IoAdapters[card -1 ]->Properties.Name,MIN (30 , -strlen - (IoAdapters - [card - - -1 ]-> - Properties. - Name))); + /* workaround for different Name in structure */ +strlcpy (IoAdapters[card -1 ]->Name, + IoAdapters[card -1 ]->Properties.Name, +sizeof (IoAdapters[card -1 ]->Name)); req.didd_remove_adapter.e.Req =0 ; req.didd_add_adapter.e.Rc =IDI_SYNC_REQ_DIDD_ADD_ADAPTER ; req.didd_add_adapter.info.descriptor = (void *) &d;
drivers/isdn/hardware/eicon/capifunc.c +3 -3
@@ -512,7 +512,7 @@ sync_req.GetName.Req =0 ; sync_req.GetName.Rc =IDI_SYNC_REQ_GET_NAME ; card->d.request ((ENTITY *) & sync_req); -strncpy (card->name, sync_req.GetName.name,sizeof (card->name)); +strlcpy (card->name, sync_req.GetName.name,sizeof (card->name)); ctrl = &card->capi_ctrl;strcpy (ctrl->name, card->name); ctrl->register_appl = diva_register_appl;
@@ -528,7 +528,7 @@return (0 ); } card->Id =find_free_id (); -strncpy (ctrl->manu,M_COMPANY ,CAPI_MANUFACTURER_LEN ); +strlcpy (ctrl->manu,M_COMPANY ,sizeof (ctrl->manu)); ctrl->version.majorversion =2 ; ctrl->version.minorversion =0 ; ctrl->version.majormanuversion =DRRELMAJOR ;
@@ -544,7 +544,7 @@sprintf (serial,"%ld" , sync_req.GetSerial.serial); } serial[CAPI_SERIAL_LEN -1 ] =0 ; -strncpy (ctrl->serial, serial,CAPI_SERIAL_LEN ); +strlcpy (ctrl->serial, serial,sizeof (ctrl->serial)); a = &adapter[card->Id -1 ]; card->adapter = a;
drivers/isdn/act2000/module.c +1 -1
@@ -601,7 +601,7 @@ISDN_FEATURE_P_UNKNOWN ; card->interface.hl_hdrlen =20 ; card->ptype =ISDN_PTYPE_EURO ; -strncpy (card->interface.id, id,sizeof (card->interface.id) -1 ); +strlcpy (card->interface.id, id,sizeof (card->interface.id));for (i=0 ; i<ACT2000_BCH ; i++) { card->bch[i].plci =0x8000 ; card->bch[i].ncci =0x8000 ;
drivers/isdn/icn/icn.c +7 -7
@@ -509,7 +509,7 @@char *s =strpbrk (t,"," ); *s++ ='\0' ; -strncpy (cmd.parm.setup.phone, t, +strlcpy (cmd.parm.setup.phone, t,sizeof (cmd.parm.setup.phone)); s =strpbrk (t = s,"," ); *s++ ='\0' ;
@@ -525,7 +525,7 @@else cmd.parm.setup.si2 =simple_strtoul (t,NULL ,10 ); -strncpy (cmd.parm.setup.eazmsn, s, +strlcpy (cmd.parm.setup.eazmsn, s,sizeof (cmd.parm.setup.eazmsn)); } cmd.parm.setup.plan =0 ;
@@ -540,19 +540,19 @@ cmd.parm.setup.screen =0 ;break ;case 5 : -strncpy (cmd.parm.num, status +3 ,sizeof (cmd.parm.num) -1 ); +strlcpy (cmd.parm.num, status +3 ,sizeof (cmd.parm.num));break ;case 6 : -sprintf (cmd.parm.num,"%d" , +snprintf (cmd.parm.num,sizeof (cmd.parm.num),"%d" , (int )simple_strtoul (status +7 ,NULL ,16 ));break ;case 7 : status +=3 ;if (strlen (status) ==4 ) -sprintf (cmd.parm.num,"%s%c%c" , +snprintf (cmd.parm.num,sizeof (cmd.parm.num),"%s%c%c" , status +2 , *status, *(status +1 ));else -strncpy (cmd.parm.num, status +1 ,sizeof (cmd.parm.num) -1 ); +strlcpy (cmd.parm.num, status +1 ,sizeof (cmd.parm.num));break ;case 8 : card->flags &= ~ICN_FLAGS_B1ACTIVE ;
@@ -1558,7 +1558,7 @@ISDN_FEATURE_L3_TRANS |ISDN_FEATURE_P_UNKNOWN ; card->ptype =ISDN_PTYPE_UNKNOWN ; -strncpy (card->interface.id, id,sizeof (card->interface.id) -1 ); +strlcpy (card->interface.id, id,sizeof (card->interface.id)); card->msg_buf_write = card->msg_buf; card->msg_buf_read = card->msg_buf; card->msg_buf_end = &card->msg_buf[sizeof (card->msg_buf) -1 ];
drivers/isdn/capi/capifs.c +1 -2
@@ -234,8 +234,7 @@int err;if ((p =strchr (revision,':' )) !=0 && p[1 ]) { -strncpy (rev, p +2 ,sizeof (rev)); - rev[sizeof (rev)-1 ] =0 ; +strlcpy (rev, p +2 ,sizeof (rev));if ((p =strchr (rev,'$' )) !=0 && p > rev) *(p-1 ) =0 ; }else
drivers/isdn/capi/kcapi.c +5 -6
@@ -631,14 +631,14 @@struct capi_ctr *card;if (contr ==0 ) { -strncpy (buf, capi_manufakturer,CAPI_MANUFACTURER_LEN ); +strlcpy (buf, capi_manufakturer,sizeof (buf));return CAPI_NOERROR ; } card =get_capi_ctr_by_nr (contr);if (!card || card->cardstate !=CARD_RUNNING )return CAPI_REGNOTINSTALLED ; -strncpy (buf, card->manu,CAPI_MANUFACTURER_LEN ); +strlcpy (buf, card->manu,sizeof (buf));return CAPI_NOERROR ; }
@@ -667,14 +667,14 @@struct capi_ctr *card;if (contr ==0 ) { -strncpy (serial, driver_serial,CAPI_SERIAL_LEN ); +strlcpy (serial, driver_serial,sizeof (serial));return CAPI_NOERROR ; } card =get_capi_ctr_by_nr (contr);if (!card || card->cardstate !=CARD_RUNNING )return CAPI_REGNOTINSTALLED ; -strncpy ((void *) serial, card->serial,CAPI_SERIAL_LEN ); +strlcpy ((void *) serial, card->serial,sizeof (serial));return CAPI_NOERROR ; }
@@ -873,8 +873,7 @@kcapi_proc_init ();if ((p =strchr (revision,':' )) !=0 && p[1 ]) { -strncpy (rev, p +2 ,sizeof (rev)); - rev[sizeof (rev)-1 ] =0 ; +strlcpy (rev, p +2 ,sizeof (rev));if ((p =strchr (rev,'$' )) !=0 && p > rev) *(p-1 ) =0 ; }else
drivers/isdn/capi/capi.c +1 -2
@@ -1460,8 +1460,7 @@if ((p =strchr (revision,':' )) !=0 && p[1 ]) { -strncpy (rev, p +2 ,sizeof (rev)); - rev[sizeof (rev)-1 ] =0 ; +strlcpy (rev, p +2 ,sizeof (rev));if ((p =strchr (rev,'$' )) !=0 && p > rev) *(p-1 ) =0 ; }else
drivers/isdn/hisax/avma1_cs.c +1 -1
@@ -335,7 +335,7 @@ devname[0 ] =0 ;if ( !first_tuple (handle, &tuple, &parse) && parse.version_1.ns >1 ) { -strncpy (devname,parse.version_1.str + parse.version_1.ofs[1 ], +strlcpy (devname,parse.version_1.str + parse.version_1.ofs[1 ],sizeof (devname)); }/*
drivers/isdn/hisax/callc.c +2 -2
@@ -1478,11 +1478,11 @@return ;switch (cm->para[3 ]) {case 4 :/* Suspend */ -strncpy (chanp->setup.phone, &cm->para[5 ], cm->para[5 ] +1 ); +strlcpy (chanp->setup.phone, &cm->para[5 ], cm->para[5 ] +1 );FsmEvent (&chanp->fi,EV_SUSPEND , cm);break ;case 5 :/* Resume */ -strncpy (chanp->setup.phone, &cm->para[5 ], cm->para[5 ] +1 ); +strlcpy (chanp->setup.phone, &cm->para[5 ], cm->para[5 ] +1 );if (chanp->fi.state ==ST_NULL ) {FsmEvent (&chanp->fi,EV_RESUME , cm); }else {
drivers/pnp/core.c +1 -1
@@ -69,7 +69,7 @@ protocol->number = nodenum;sprintf (protocol->dev.bus_id,"pnp%d" , nodenum); -strncpy (protocol->dev.name,protocol->name,DEVICE_NAME_SIZE ); +strlcpy (protocol->dev.name,protocol->name,DEVICE_NAME_SIZE );return device_register (&protocol->dev); }
drivers/s390/net/ctcmain.c +1 -1
@@ -2915,7 +2915,7 @@ctc_add_attributes (&cgdev->dev); -strncpy (privptr->fsm->name, dev->name,sizeof (privptr->fsm->name)); +strlcpy (privptr->fsm->name, dev->name,sizeof (privptr->fsm->name));print_banner ();
drivers/s390/net/fsm.c +1 -1
@@ -26,7 +26,7 @@return NULL ; }memset (this,0 ,sizeof (fsm_instance)); -strncpy (this->name, name,sizeof (this->name)); +strlcpy (this->name, name,sizeof (this->name)); f = (fsm *)kmalloc (sizeof (fsm), order);if (f ==NULL ) {
drivers/s390/net/cu3088.c +1 -2
@@ -80,8 +80,7 @@if (!(end =strchr (start, delim[i])))return count; len =min_t (ptrdiff_t,BUS_ID_SIZE , end - start); -strncpy (bus_ids[i], start, len); - bus_ids[i][len] ='\0' ; +strlcpy (bus_ids[i], start, len); argv[i] = bus_ids[i]; start = end +1 ; }
drivers/s390/cio/css.c +1 -1
@@ -97,7 +97,7 @@ sch->dev.bus = &css_bus_type;/* Set a name for the subchannel */ -strncpy (sch->dev.name, subchannel_types[sch->st],DEVICE_NAME_SIZE ); +strlcpy (sch->dev.name, subchannel_types[sch->st],DEVICE_NAME_SIZE );snprintf (sch->dev.bus_id,DEVICE_ID_SIZE ,"0:%04x" , sch->irq);/* make it known to the system */
drivers/input/misc/uinput.c +3 -4
@@ -192,15 +192,14 @@if (NULL != dev->name)kfree (dev->name); - size =strnlen (user_dev->name,UINPUT_MAX_NAME_SIZE ); - dev->name =kmalloc (size +1 ,GFP_KERNEL ); + size =strnlen (user_dev->name,UINPUT_MAX_NAME_SIZE ) +1 ; + dev->name =kmalloc (size,GFP_KERNEL );if (!dev->name) { retval = -ENOMEM ; goto exit; } -strncpy (dev->name, user_dev->name, size); - dev->name[size] ='\0' ; +strlcpy (dev->name, user_dev->name, size); dev->id.bustype = user_dev->id.bustype; dev->id.vendor = user_dev->id.vendor; dev->id.product = user_dev->id.product;
drivers/mca/mca-legacy.c +1 -2
@@ -278,8 +278,7 @@if (!mca_dev)return ; -strncpy (mca_dev->dev.name, name,sizeof (mca_dev->dev.name)); - mca_dev->dev.name[sizeof (mca_dev->dev.name) -1 ] ='\0' ; +strlcpy (mca_dev->dev.name, name,sizeof (mca_dev->dev.name)); }EXPORT_SYMBOL (mca_set_adapter_name);
drivers/video/pm2fb.c +1 -3
@@ -2307,9 +2307,7 @@ }static void __init pm2fb_font_setup (char * options) { - -strncpy (pm2fb_options.font, options,sizeof (pm2fb_options.font)); - pm2fb_options.font[sizeof (pm2fb_options.font)-1 ]='\0' ; +strlcpy (pm2fb_options.font, options,sizeof (pm2fb_options.font)); }static void __init pm2fb_var_setup (char * options) {
drivers/video/pm3fb.c +1 -2
@@ -2631,8 +2631,7 @@DPRINTK (1 ,"Fontname %s too long\n" , lf);return ; } -strncpy (fontn[board_num], lf, lfs); - fontn[board_num][lfs] ='\0' ; +strlcpy (fontn[board_num], lf, lfs +1 ); }static void pm3fb_bootdepth_setup (char *bds,unsigned long board_num)
drivers/video/aty/atyfb_base.c +1 -1
@@ -2425,7 +2425,7 @@ && (!strncmp(this_opt, "Mach64:", 7))) {static unsigned char m64_num;static char mach64_str[80 ]; -strncpy (mach64_str, this_opt +7 ,80 ); +strlcpy (mach64_str, this_opt +7 ,sizeof (mach64_str));if (!store_video_par (mach64_str, m64_num)) { m64_num++; mach64_count = m64_num;
drivers/video/matrox/matroxfb_base.c +3 -3
@@ -2364,7 +2364,7 @@else if (!strncmp (this_opt,"vesa:" ,5 )) vesa =simple_strtoul (this_opt+5 ,NULL ,0 );else if (!strncmp (this_opt,"font:" ,5 )) -strncpy (fontname, this_opt+5 ,sizeof (fontname)-1 ); +strlcpy (fontname, this_opt+5 ,sizeof (fontname));else if (!strncmp (this_opt,"maxclk:" ,7 )) maxclk =simple_strtoul (this_opt+7 ,NULL ,0 );else if (!strncmp (this_opt,"fh:" ,3 ))
@@ -2374,7 +2374,7 @@else if (!strncmp (this_opt,"mem:" ,4 )) mem =simple_strtoul (this_opt+4 ,NULL ,0 );else if (!strncmp (this_opt,"mode:" ,5 )) -strncpy (videomode, this_opt+5 ,sizeof (videomode)-1 ); +strlcpy (videomode, this_opt+5 ,sizeof (videomode));else if (!strncmp (this_opt,"dfp:" ,4 )) { dfp_type =simple_strtoul (this_opt+4 ,NULL ,0 ); dfp =1 ;
@@ -2454,7 +2454,7 @@else if (!strcmp (this_opt,"dfp" )) dfp = value;else { -strncpy (videomode, this_opt,sizeof (videomode)-1 ); +strlcpy (videomode, this_opt,sizeof (videomode)); } } }
drivers/video/p9100.c +1 -2
@@ -250,8 +250,7 @@ {struct p9100_par *par = (struct p9100_par *)info->par; -strncpy (info->fix.id, par->sdev->prom_name,sizeof (info->fix.id) -1 ); - info->fix.id[sizeof (info->fix.id)-1 ] =0 ; +strlcpy (info->fix.id, par->sdev->prom_name,sizeof (info->fix.id)); info->fix.type =FB_TYPE_PACKED_PIXELS ; info->fix.visual =FB_VISUAL_PSEUDOCOLOR ;
drivers/video/cg3.c +1 -2
@@ -253,8 +253,7 @@ {struct cg3_par *par = (struct cg3_par *)info->par; -strncpy (info->fix.id, par->sdev->prom_name,sizeof (info->fix.id) -1 ); - info->fix.id[sizeof (info->fix.id)-1 ] =0 ; +strlcpy (info->fix.id, par->sdev->prom_name,sizeof (info->fix.id)); info->fix.type =FB_TYPE_PACKED_PIXELS ; info->fix.visual =FB_VISUAL_PSEUDOCOLOR ;
drivers/video/cirrusfb.c +1 -2
@@ -2777,9 +2777,8 @@ fb_info->gen.parsize =sizeof (struct clgenfb_par ); fb_info->gen.fbhw = &clgen_hwswitch; -strncpy (fb_info->gen.info.modename, clgen_board_info[btype].name, +strlcpy (fb_info->gen.info.modename, clgen_board_info[btype].name,sizeof (fb_info->gen.info.modename)); - fb_info->gen.info.modename [sizeof (fb_info->gen.info.modename) -1 ] =0 ; fb_info->gen.info.fbops = &clgenfb_ops; fb_info->gen.info.disp = &disp;
drivers/video/leo.c +1 -2
@@ -336,8 +336,7 @@ {struct leo_par *par = (struct leo_par *)info->par; -strncpy (info->fix.id, par->sdev->prom_name,sizeof (info->fix.id) -1 ); - info->fix.id[sizeof (info->fix.id)-1 ] =0 ; +strlcpy (info->fix.id, par->sdev->prom_name,sizeof (info->fix.id)); info->fix.type =FB_TYPE_PACKED_PIXELS ; info->fix.visual =FB_VISUAL_TRUECOLOR ;
drivers/video/radeonfb.c +1 -2
@@ -2243,8 +2243,7 @@ info->screen_base = (char *)rinfo->fb_base;/* Fill fix common fields */ -strncpy (info->fix.id, rinfo->name,sizeof (info->fix.id)); - info->fix.id[sizeof (info->fix.id) -1 ] ='\0' ; +strlcpy (info->fix.id, rinfo->name,sizeof (info->fix.id)); info->fix.smem_start = rinfo->fb_base_phys; info->fix.smem_len = rinfo->video_ram; info->fix.type =FB_TYPE_PACKED_PIXELS ;
drivers/video/ffb.c +1 -2
@@ -810,8 +810,7 @@ }else ffb_type_name ="Elite 3D" ; -strncpy (info->fix.id, ffb_type_name,sizeof (info->fix.id) -1 ); - info->fix.id[sizeof (info->fix.id)-1 ] =0 ; +strlcpy (info->fix.id, ffb_type_name,sizeof (info->fix.id)); info->fix.type =FB_TYPE_PACKED_PIXELS ; info->fix.visual =FB_VISUAL_TRUECOLOR ;
drivers/video/tcx.c +1 -2
@@ -290,8 +290,7 @@else tcx_name ="TCX24" ; -strncpy (info->fix.id, tcx_name,sizeof (info->fix.id) -1 ); - info->fix.id[sizeof (info->fix.id)-1 ] =0 ; +strlcpy (info->fix.id, tcx_name,sizeof (info->fix.id)); info->fix.type =FB_TYPE_PACKED_PIXELS ; info->fix.visual =FB_VISUAL_PSEUDOCOLOR ;
drivers/video/cg14.c +1 -2
@@ -337,8 +337,7 @@ {struct cg14_par *par = (struct cg14_par *)info->par; -strncpy (info->fix.id, par->sdev->prom_name,sizeof (info->fix.id) -1 ); - info->fix.id[sizeof (info->fix.id)-1 ] =0 ; +strlcpy (info->fix.id, par->sdev->prom_name,sizeof (info->fix.id)); info->fix.type =FB_TYPE_PACKED_PIXELS ; info->fix.visual =FB_VISUAL_TRUECOLOR ;
drivers/video/sstfb.c +1 -1
@@ -1462,7 +1462,7 @@ goto fail; }sst_get_memsize (info, &fix->smem_len); -strncpy (fix->id, spec->name,sizeof (fix->id)); +strlcpy (fix->id, spec->name,sizeof (fix->id));iprintk ("%s (revision %d) with %s dac\n" , fix->id, par->revision, par->dac_sw.name);
drivers/video/cyber2000fb.c +2 -2
@@ -1128,7 +1128,7 @@ info->disable_extregs = cyber2000fb_disable_extregs; info->info = int_cfb_info; -strncpy (info->dev_name, int_cfb_info->fb.fix.id,sizeof (info->dev_name)); +strlcpy (info->dev_name, int_cfb_info->fb.fix.id,sizeof (info->dev_name)); }return int_cfb_info !=NULL ;
@@ -1319,7 +1319,7 @@continue ;if (strncmp (opt,"font:" ,5 ) ==0 ) { -strncpy (default_font_storage, opt +5 ,sizeof (default_font_storage)); +strlcpy (default_font_storage, opt +5 ,sizeof (default_font_storage)); default_font = default_font_storage;continue ; }
drivers/video/retz3fb.c +2 -3
@@ -1336,8 +1336,7 @@ z3fb_inverse =1 ;fb_invert_cmaps (); }else if (!strncmp (this_opt,"font:" ,5 )) { -strncpy (fontname, this_opt+5 ,39 ); - fontname[39 ] ='\0' ; +strlcpy (fontname, this_opt+5 ,sizeof (fontname)); }else z3fb_mode =get_video_mode (this_opt); }
@@ -1410,7 +1409,7 @@ fb_info->switch_con = &z3fb_switch; fb_info->updatevar = &z3fb_updatevar; fb_info->flags =FBINFO_FLAG_DEFAULT ; -strncpy (fb_info->fontname, fontname,40 ); +strlcpy (fb_info->fontname, fontname,sizeof (fb_info->fontname));if (z3fb_mode ==-1 ) retz3fb_default = retz3fb_predefined[0 ].var;
drivers/video/console/sticore.c +1 -1
@@ -273,7 +273,7 @@static int __init sti_setup (char *str) {if (str) -strncpy (default_sti_path, str,sizeof (default_sti_path)); +strlcpy (default_sti_path, str,sizeof (default_sti_path));return 0 ; }
drivers/video/tgafb.c +1 -2
@@ -1341,8 +1341,7 @@break ; } -strncpy (info->fix.id, tga_type_name,sizeof (info->fix.id) -1 ); - info->fix.id[sizeof (info->fix.id)-1 ] =0 ; +strlcpy (info->fix.id, tga_type_name,sizeof (info->fix.id)); info->fix.type =FB_TYPE_PACKED_PIXELS ; info->fix.type_aux =0 ;
drivers/video/bw2.c +1 -2
@@ -194,8 +194,7 @@static void bw2_init_fix (struct fb_info *info,int linebytes) { -strncpy (info->fix.id,"bwtwo" ,sizeof (info->fix.id) -1 ); - info->fix.id[sizeof (info->fix.id)-1 ] =0 ; +strlcpy (info->fix.id,"bwtwo" ,sizeof (info->fix.id)); info->fix.type =FB_TYPE_PACKED_PIXELS ; info->fix.visual =FB_VISUAL_MONO01 ;
drivers/pci/pool.c +1 -2
@@ -128,8 +128,7 @@if (!(retval =kmalloc (sizeof *retval,SLAB_KERNEL )))return retval; -strncpy (retval->name, name,sizeof retval->name); - retval->name [sizeof retval->name -1 ] =0 ; +strlcpy (retval->name, name,sizeof retval->name); retval->dev = pdev;
drivers/char/i8k.c +5 -5
@@ -167,7 +167,7 @@*/ static int i8k_get_serial_number (unsigned char *buff) { -strncpy (buff, serial_number,16 ); +strlcpy (buff, serial_number,sizeof (serial_number));return 0 ; }
@@ -551,24 +551,24 @@case 0 :/* BIOS Information */ p =dmi_string (dmi,data[5 ]);if (*p) { -strncpy (bios_version, p,sizeof (bios_version)); +strlcpy (bios_version, p,sizeof (bios_version));string_trim (bios_version,sizeof (bios_version)); }break ;case 1 :/* System Information */ p =dmi_string (dmi,data[4 ]);if (*p) { -strncpy (system_vendor, p,sizeof (system_vendor)); +strlcpy (system_vendor, p,sizeof (system_vendor));string_trim (system_vendor,sizeof (system_vendor)); } p =dmi_string (dmi,data[5 ]);if (*p) { -strncpy (product_name, p,sizeof (product_name)); +strlcpy (product_name, p,sizeof (product_name));string_trim (product_name,sizeof (product_name)); } p =dmi_string (dmi,data[7 ]);if (*p) { -strncpy (serial_number, p,sizeof (serial_number)); +strlcpy (serial_number, p,sizeof (serial_number));string_trim (serial_number,sizeof (serial_number)); }break ;
drivers/char/ftape/zftape/zftape-vtbl.h +1 -2
@@ -129,8 +129,7 @@#define DUMP_VOLINFO (level, desc, info) \ { \ char tmp[21]; \ - strncpy(tmp, desc, 20); \ - tmp[20] = '\0'; \ + strlcpy(tmp, desc, sizeof(tmp)); \ TRACE(level, "Volume %d:\n" \ KERN_INFO "description : %s\n" \ KERN_INFO "first segment: %d\n" \
drivers/char/rio/rioinit.c +4 -2
@@ -1541,8 +1541,10 @@struct rioVersion *RIOVersid (void ) { -strncpy (stVersion.version,"RIO driver for linux V1.0" ,255 ); -strncpy (stVersion.buildDate, __DATE__,255 ); +strlcpy (stVersion.version,"RIO driver for linux V1.0" , +sizeof (stVersion.version)); +strlcpy (stVersion.buildDate, __DATE__, +sizeof (stVersion.buildDate));return &stVersion; }
drivers/eisa/eisa-bus.c +2 -2
@@ -38,9 +38,9 @@for (i =0 ; i <EISA_INFOS ; i++) {if (!strcmp (edev->id.sig, eisa_table[i].id.sig)) { -strncpy (edev->dev.name, +strlcpy (edev->dev.name, eisa_table[i].name, -DEVICE_NAME_SIZE -1 ); +DEVICE_NAME_SIZE );return ; } }
drivers/parisc/led.c +1 -1
@@ -667,7 +667,7 @@tasklet_disable (&led_tasklet);/* copy display string to buffer for procfs */ -strncpy (lcd_text, str,sizeof (lcd_text)-1 ); +strlcpy (lcd_text, str,sizeof (lcd_text));/* Set LCD Cursor to 1st character */ gsc_writeb (lcd_info.reset_cmd1,LCD_CMD_REG );
drivers/parisc/ccio-dma.c +1 -1
@@ -1522,7 +1522,7 @@memset (ioc,0 ,sizeof (struct ioc )); ioc->name = dev->id.hversion ==U2_IOA_RUNWAY ?"U2" :"UTurn" ; -strncpy (dev->dev.name, ioc->name,sizeof (dev->dev.name)); +strlcpy (dev->dev.name, ioc->name,sizeof (dev->dev.name));printk (KERN_INFO "Found %s at 0x%lx\n" , ioc->name, dev->hpa);
drivers/usb/net/kaweth.c +1 -1
@@ -670,7 +670,7 @@switch (ethcmd) {case ETHTOOL_GDRVINFO : {struct ethtool_drvinfo info = {ETHTOOL_GDRVINFO }; -strncpy (info.driver,"kaweth" ,sizeof (info.driver)-1 ); +strlcpy (info.driver,"kaweth" ,sizeof (info.driver));if (copy_to_user (useraddr, &info,sizeof (info)))return -EFAULT ;return 0 ;
drivers/usb/net/pegasus.c +4 -4
@@ -927,10 +927,10 @@/* get driver-specific version/etc. info */ case ETHTOOL_GDRVINFO :{struct ethtool_drvinfo info = {ETHTOOL_GDRVINFO }; -strncpy (info.driver, driver_name, -sizeof (info.driver) -1 ); -strncpy (info.version,DRIVER_VERSION , -sizeof (info.version) -1 ); +strlcpy (info.driver, driver_name, +sizeof (info.driver)); +strlcpy (info.version,DRIVER_VERSION , +sizeof (info.version));if (copy_to_user (useraddr, &info,sizeof (info)))return -EFAULT ;return 0 ;
drivers/usb/misc/brlvger.c +2 -4
@@ -708,12 +708,10 @@case BRLVGER_GET_INFO : {struct brlvger_info vi; -strncpy (vi.driver_version,DRIVER_VERSION , +strlcpy (vi.driver_version,DRIVER_VERSION ,sizeof (vi.driver_version)); - vi.driver_version[sizeof (vi.driver_version)-1 ] =0 ; -strncpy (vi.driver_banner, longbanner, +strlcpy (vi.driver_banner, longbanner,sizeof (vi.driver_banner)); - vi.driver_banner[sizeof (vi.driver_banner)-1 ] =0 ; vi.display_length = priv->plength;
drivers/usb/gadget/zero.c +1 -2
@@ -1205,8 +1205,7 @@/* a real value would likely come through some id prom * or module option. this one takes at least two packets. */ -strncpy (serial,"0123456789.0123456789.0123456789" ,sizeof serial); - serial [sizeof serial -1 ] =0 ; +strlcpy (serial,"0123456789.0123456789.0123456789" ,sizeof serial);return usb_gadget_register_driver (&zero_driver); }
drivers/block/loop.c +2 -2
@@ -867,7 +867,7 @@if (err)return err; -strncpy (lo->lo_name, info->lo_name,LO_NAME_SIZE ); +strlcpy (lo->lo_name, info->lo_name,LO_NAME_SIZE ); lo->transfer = xfer_funcs[type]->transfer; lo->ioctl = xfer_funcs[type]->ioctl;
@@ -902,7 +902,7 @@ info->lo_rdevice = lo->lo_device ? stat.rdev : stat.dev; info->lo_offset = lo->lo_offset; info->lo_flags = lo->lo_flags; -strncpy (info->lo_name, lo->lo_name,LO_NAME_SIZE ); +strlcpy (info->lo_name, lo->lo_name,LO_NAME_SIZE ); info->lo_encrypt_type = lo->lo_encrypt_type;if (lo->lo_encrypt_key_size &&capable (CAP_SYS_ADMIN )) { info->lo_encrypt_key_size = lo->lo_encrypt_key_size;
drivers/block/genhd.c +1 -2
@@ -89,8 +89,7 @@ } p->major = major; -strncpy (p->name, name,sizeof (p->name)-1 ); - p->name[sizeof (p->name)-1 ] =0 ; +strlcpy (p->name, name,sizeof (p->name)); p->next =0 ; index =major_to_index (major);
drivers/pcmcia/cs.c +2 -2
@@ -1026,7 +1026,7 @@if (!client)return CS_OUT_OF_RESOURCE ;memset (client,'\0' ,sizeof (client_t)); client->client_magic =CLIENT_MAGIC ; -strncpy (client->dev_info, (char *)req->dev_info,DEV_NAME_LEN ); +strlcpy (client->dev_info, (char *)req->dev_info,DEV_NAME_LEN ); client->Socket = req->Socket; client->Function = req->Function; client->state =CLIENT_UNBOUND ;
@@ -1069,7 +1069,7 @@ }if (!region || (region->mtd !=NULL ))return CS_BAD_OFFSET ; -strncpy (region->dev_info, (char *)req->dev_info,DEV_NAME_LEN ); +strlcpy (region->dev_info, (char *)req->dev_info,DEV_NAME_LEN );DEBUG (1 ,"cs: bind_mtd(): attr 0x%x, offset 0x%x, dev %s\n" , req->Attributes, req->CardOffset, (char *)req->dev_info);
drivers/pcmcia/tcic.c +1 -1
@@ -527,7 +527,7 @@ tcic_data.nsock = sockets; tcic_class_data.dev = &tcic_device.dev; tcic_class_data.class_data = &tcic_data; -strncpy (tcic_class_data.class_id,"tcic-pcmcia" ,BUS_ID_SIZE ); +strlcpy (tcic_class_data.class_id,"tcic-pcmcia" ,BUS_ID_SIZE );platform_device_register (&tcic_device);class_device_register (&tcic_class_data);
drivers/pcmcia/i82365.c +1 -1
@@ -1560,7 +1560,7 @@ i82365_data.nsock = sockets; i82365_class_data.dev = &i82365_device.dev; i82365_class_data.class_data = &i82365_data; -strncpy (i82365_class_data.class_id,"i82365" ,BUS_ID_SIZE ); +strlcpy (i82365_class_data.class_id,"i82365" ,BUS_ID_SIZE );platform_device_register (&i82365_device);class_device_register (&i82365_class_data);
drivers/pcmcia/ds.c +2 -4
@@ -480,8 +480,7 @@/* Try to handle "next" here some way? */ }if (dev && dev->driver) { -strncpy (bind_info->name, dev->driver->name,DEV_NAME_LEN ); - bind_info->name[DEV_NAME_LEN -1 ] ='\0' ; +strlcpy (bind_info->name, dev->driver->name,DEV_NAME_LEN ); bind_info->major =0 ; bind_info->minor =0 ; bind_info->next =NULL ;
@@ -507,8 +506,7 @@if (node == bind_info->next)break ;if (node ==NULL )return -ENODEV ; -strncpy (bind_info->name, node->dev_name,DEV_NAME_LEN ); - bind_info->name[DEV_NAME_LEN -1 ] ='\0' ; +strlcpy (bind_info->name, node->dev_name,DEV_NAME_LEN ); bind_info->major = node->major; bind_info->minor = node->minor; bind_info->next = node->next;
drivers/pcmcia/pci_socket.c +1 -1
@@ -155,7 +155,7 @@ socket->cls_d.ops = &pci_socket_operations; socket->cls_d.class_dev.class = &pcmcia_socket_class; socket->cls_d.class_dev.dev = &dev->dev; -strncpy (socket->cls_d.class_dev.class_id, dev->dev.bus_id,BUS_ID_SIZE ); +strlcpy (socket->cls_d.class_dev.class_id, dev->dev.bus_id,BUS_ID_SIZE );class_set_devdata (&socket->cls_d.class_dev, &socket->cls_d);/* prepare pci_socket_t */
drivers/pcmcia/i82092.c +1 -1
@@ -178,7 +178,7 @@pci_set_drvdata (dev, &cls_d); cls_d->class_dev.class = &pcmcia_socket_class; cls_d->class_dev.dev = &dev->dev; -strncpy (cls_d->class_dev.class_id, dev->dev.name,BUS_ID_SIZE ); +strlcpy (cls_d->class_dev.class_id, dev->dev.name,BUS_ID_SIZE );class_set_devdata (&cls_d->class_dev, cls_d);class_device_register (&cls_d->class_dev);
drivers/md/dm-ioctl.c +3 -3
@@ -488,9 +488,9 @@* Sneakily write in both the name and the uuid * while we have the cell. */ -strncpy (param->name, hc->name,sizeof (param->name)); +strlcpy (param->name, hc->name,sizeof (param->name));if (hc->uuid) -strncpy (param->uuid, hc->uuid,sizeof (param->uuid) -1 ); +strlcpy (param->uuid, hc->uuid,sizeof (param->uuid));else param->uuid[0 ] ='\0' ;
@@ -626,7 +626,7 @@ spec->status =0 ; spec->sector_start = ti->begin; spec->length = ti->len; -strncpy (spec->target_type, ti->type->name, +strlcpy (spec->target_type, ti->type->name,sizeof (spec->target_type)); outptr +=sizeof (struct dm_target_spec );
drivers/scsi/osst.c +1 -2
@@ -2227,8 +2227,7 @@ }if (strncmp (header->ident_str,"ADR_SEQ" ,7 ) !=0 &&strncmp (header->ident_str,"ADR-SEQ" ,7 ) !=0 ) { -strncpy (id_string, header->ident_str,7 ); - id_string[7 ] =0 ; +strlcpy (id_string, header->ident_str,8 );#if DEBUG printk (OSST_DEB_MSG "%s:D: Invalid header identification string %s\n" , name, id_string);#endif
drivers/scsi/sym53c8xx_2/sym_glue.c +1 -1
@@ -1987,7 +1987,7 @@/* * Edit its name. */ -strncpy (np->s.chip_name, dev->chip.name,sizeof (np->s.chip_name)-1 ); +strlcpy (np->s.chip_name, dev->chip.name,sizeof (np->s.chip_name));sprintf (np->s.inst_name,"sym%d" , np->s.unit);/*
drivers/scsi/NCR_D700.c +1 -1
@@ -332,7 +332,7 @@ }mca_device_set_claim (mca_dev,1 ); -strncpy (dev->name,"NCR_D700" ,sizeof (dev->name)); +strlcpy (dev->name,"NCR_D700" ,sizeof (dev->name));dev_set_drvdata (dev, p);return 0 ; }
drivers/scsi/in2000.c +1 -2
@@ -1820,8 +1820,7 @@int i;char *p1, *p2; -strncpy (setup_buffer, str,SETUP_BUFFER_SIZE ); - setup_buffer[SETUP_BUFFER_SIZE -1 ] ='\0' ; +strlcpy (setup_buffer, str,SETUP_BUFFER_SIZE ); p1 = setup_buffer; i =0 ;while (*p1 && (i <MAX_SETUP_ARGS )) {
drivers/scsi/sim710.c +1 -1
@@ -253,7 +253,7 @@ }else {return -ENODEV ; } -strncpy (dev->name, name,sizeof (dev->name)); +strlcpy (dev->name, name,sizeof (dev->name));mca_device_set_claim (mca_dev,1 ); base =mca_device_transform_ioport (mca_dev, base); irq_vector =mca_device_transform_irq (mca_dev, irq_vector);
drivers/scsi/aacraid/aachba.c +1 -1
@@ -1130,7 +1130,7 @@else qd.unmapped =0 ; -strncpy (qd.name, fsa_dev_ptr->devname[qd.cnum],8 ); +strlcpy (qd.name, fsa_dev_ptr->devname[qd.cnum],sizeof (qd.name));if (copy_to_user (arg, &qd,sizeof (struct aac_query_disk )))return -EFAULT ;
drivers/scsi/gdth.c +4 -4
@@ -2295,15 +2295,15 @@TRACE2 (("gdth_search_drives(): CACHE_READ_OEM_STRING_RECORD OK\n" ));printk ("GDT CTR%d Vendor: %s\n" ,hanum,oemstr->text.oem_company_name);/* Save the Host Drive inquiry data */ -strncpy (ha->oem_name,oemstr->text.scsi_host_drive_inquiry_vendor_id,7 ); - ha->oem_name[7 ] ='\0' ; +strlcpy (ha->oem_name,oemstr->text.scsi_host_drive_inquiry_vendor_id, +sizeof (ha->oem_name)); }else {/* Old method, based on PCI ID */ TRACE2 (("gdth_search_drives(): CACHE_READ_OEM_STRING_RECORD failed\n" ));if (ha->oem_id ==OEM_ID_INTEL ) -strcpy (ha->oem_name,"Intel " ); +strlcpy (ha->oem_name,"Intel " ,sizeof (ha->oem_name));else -strcpy (ha->oem_name,"ICP " ); +strlcpy (ha->oem_name,"ICP " ,sizeof (ha->oem_name)); }/* scanning for host drives */
drivers/scsi/ncr53c8xx.c +2 -2
@@ -3701,7 +3701,7 @@/* ** Store input informations in the host data structure. */ -strncpy (np->chip_name, device->chip.name,sizeof (np->chip_name) -1 ); +strlcpy (np->chip_name, device->chip.name,sizeof (np->chip_name)); np->unit = unit; np->verbose = driver_setup.verbose;sprintf (np->inst_name,"ncr53c%s-%d" , np->chip_name, np->unit);
@@ -5033,7 +5033,7 @@char inst_name[16 ];/* Local copy so we don't access np after freeing it! */ -strncpy (inst_name,ncr_name (np),16 ); +strlcpy (inst_name,ncr_name (np),sizeof (inst_name));printk ("%s: releasing host resources\n" ,ncr_name (np));
drivers/scsi/eata_pio.c +2 -4
@@ -736,10 +736,8 @@memset (hd->ccb,0 , (sizeof (struct eata_ccb ) *ntohs (gc->queuesiz)));memset (hd->reads,0 ,sizeof (unsigned long ) *26 ); -strncpy (SD (sh)->vendor, &buff[8 ],8 ); -SD (sh)->vendor[8 ] =0 ; -strncpy (SD (sh)->name, &buff[16 ],17 ); -SD (sh)->name[17 ] =0 ; +strlcpy (SD (sh)->vendor, &buff[8 ],sizeof (SD (sh)->vendor)); +strlcpy (SD (sh)->name, &buff[16 ],sizeof (SD (sh)->name));SD (sh)->revision[0 ] = buff[32 ];SD (sh)->revision[1 ] = buff[33 ];SD (sh)->revision[2 ] = buff[34 ];
drivers/scsi/sym53c8xx.c +1 -1
@@ -5454,7 +5454,7 @@/* ** Store input informations in the host data structure. */ -strncpy (np->chip_name, device->chip.name,sizeof (np->chip_name) -1 ); +strlcpy (np->chip_name, device->chip.name,sizeof (np->chip_name)); np->unit = unit; np->verbose = driver_setup.verbose;sprintf (np->inst_name,NAME53C "%s-%d" , np->chip_name, np->unit);
drivers/ide/ide.c +2 -2
@@ -1398,7 +1398,7 @@ goto abort;if (DRIVER (drive)->cleanup (drive)) goto abort; -strncpy (drive->driver_req, driver,9 ); +strlcpy (drive->driver_req, driver,sizeof (drive->driver_req));if (ata_attach (drive)) {spin_lock (&drives_lock);list_del_init (&drive->list);
@@ -1838,7 +1838,7 @@ hwif = &ide_hwifs[hw]; drive = &hwif->drives[unit];if (strncmp (s +4 ,"ide-" ,4 ) ==0 ) { -strncpy (drive->driver_req, s +4 ,9 ); +strlcpy (drive->driver_req, s +4 ,sizeof (drive->driver_req)); goto done; }/*
drivers/ide/ide-proc.c +1 -2
@@ -522,8 +522,7 @@if (*p !=':' ) goto parse_error; len =IDE_MIN (p - start,MAX_LEN ); -strncpy (name, start,IDE_MIN (len,MAX_LEN )); - name[len] =0 ; +strlcpy (name, start,IDE_MIN (len,MAX_LEN ));if (n >0 ) { --n;
drivers/ide/ide-probe.c +1 -1
@@ -693,7 +693,7 @@u32 i =0 ;/* register with global device tree */ -strncpy (hwif->gendev.bus_id,hwif->name,BUS_ID_SIZE ); +strlcpy (hwif->gendev.bus_id,hwif->name,BUS_ID_SIZE );snprintf (hwif->gendev.name,DEVICE_NAME_SIZE ,"IDE Controller" ); hwif->gendev.driver_data = hwif;if (hwif->pci_dev)
drivers/acpi/scan.c +1 -1
@@ -66,7 +66,7 @@spin_unlock (&acpi_device_lock);kobject_init (&device->kobj); -strncpy (device->kobj.name,device->pnp.bus_id,KOBJ_NAME_LEN ); +strlcpy (device->kobj.name,device->pnp.bus_id,KOBJ_NAME_LEN );if (parent) device->kobj.parent = &parent->kobj; device->kobj.ktype = &ktype_acpi_ns;
drivers/acpi/toshiba_acpi.c +1 -2
@@ -108,8 +108,7 @@int result;char * str2 =kmalloc (n +1 ,GFP_KERNEL );if (str2 ==0 )return 0 ; -strncpy (str2, str, n); - str2[n] =0 ; +strlcpy (str2, str, n);va_start (args, format); result =vsscanf (str2, format, args);va_end (args);
drivers/i2c/i2c-core.c +1 -1
@@ -105,7 +105,7 @@memset (&adap->class_dev,0x00 ,sizeof (struct class_device )); adap->class_dev.dev = &adap->dev; adap->class_dev.class = &i2c_adapter_class; -strncpy (adap->class_dev.class_id, adap->dev.bus_id,BUS_ID_SIZE ); +strlcpy (adap->class_dev.class_id, adap->dev.bus_id,BUS_ID_SIZE );class_device_register (&adap->class_dev);/* inform drivers of new adapters */
drivers/i2c/chips/lm75.c +1 -1
@@ -194,7 +194,7 @@ }/* Fill in the remaining client fields and put it into the global list */ -strncpy (new_client->dev.name, name,DEVICE_NAME_SIZE ); +strlcpy (new_client->dev.name, name,DEVICE_NAME_SIZE ); new_client->id = lm75_id++; data->valid =0 ;
drivers/i2c/chips/adm1021.c +1 -1
@@ -310,7 +310,7 @@ }/* Fill in the remaining client fields and put it into the global list */ -strncpy (new_client->dev.name, client_name,DEVICE_NAME_SIZE ); +strlcpy (new_client->dev.name, client_name,DEVICE_NAME_SIZE ); data->type = kind; new_client->id = adm1021_id++;
drivers/i2c/chips/w83781d.c +2 -2
@@ -1198,7 +1198,7 @@request_region (address,W83781D_EXTENT , type_name);/* Fill in the remaining client fields and put it into the global list */ -strncpy (new_client->dev.name, client_name,DEVICE_NAME_SIZE ); +strlcpy (new_client->dev.name, client_name,DEVICE_NAME_SIZE ); data->type = kind; data->valid =0 ;
@@ -1271,7 +1271,7 @@ data->lm75[i].adapter = adapter; data->lm75[i].driver = &w83781d_driver; data->lm75[i].flags =0 ; -strncpy (data->lm75[i].dev.name, client_name, +strlcpy (data->lm75[i].dev.name, client_name,DEVICE_NAME_SIZE );if (kind == w83783s)break ;
drivers/i2c/chips/it87.c +1 -1
@@ -692,7 +692,7 @@ }/* Fill in the remaining client fields and put it into the global list */ -strncpy (new_client->dev.name, name,DEVICE_NAME_SIZE ); +strlcpy (new_client->dev.name, name,DEVICE_NAME_SIZE ); data->type = kind;