Apple règle le bug Telugu, Réactions à la publication du 20/02/2018 |
Bienvenue invité ( Connexion | Inscription )
Apple règle le bug Telugu, Réactions à la publication du 20/02/2018 |
20 Feb 2018, 07:10
Message
#1
|
|
BIDOUILLE Guru Groupe : Admin Messages : 55 316 Inscrit : 14 Jan 2001 Lieu : Paris Membre no 3 |
En fin de semaine dernière on apprenait que des caractères Telugu pouvaient faire planter nombre d'applications sur la plupart des systèmes d'exploitation d'Apple.
Pendant le week-end, des attaques malveillantes avaient commencé à se produire, en particulier via Twitter, cherchant à faire planter les produits Apple. La société vient de réagir en proposant au public iOS 11.2.6, watchOS 4.2.3, tvOS 11.2.6, et macOS High Sierra 10.13.3 (supplémentaire) qui corrigent ce problème. Lien vers le billet original -------------------- C'est parce que la vitesse de la lumière est plus grande que celle du son que tant de gens paraissent brillants avant d'avoir l'air con
|
|
|
20 Feb 2018, 07:23
Message
#2
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 463 Inscrit : 16 Aug 2009 Lieu : Singapour Membre no 140 683 |
Bonjour
Juste pour la culture personnelle, comment ces failles sont-elles trouvées? Pure hasard? Et comment sont-elles comblées? -------------------- 🇸🇬 MacBook Pro 13" 2018 - Mac Mini 2018 - Panasonic TH-55FZ950S - KEF R300 & Teac AI-503 - Apple TV 4K
|
|
|
20 Feb 2018, 07:43
Message
#3
|
|
BIDOUILLE Guru Groupe : Admin Messages : 55 316 Inscrit : 14 Jan 2001 Lieu : Paris Membre no 3 |
Bonjour Juste pour la culture personnelle, comment ces failles sont-elles trouvées? Pure hasard? Et comment sont-elles comblées? Oui, certainement le hasard. Pour les régler, tu fais du déboggage. Tu traces l'application et ce qui se passe quand elle est confrontée à ce problème pour isoler les lignes de code fautives. Ensuite, tu corriges le bug en empêchant qu'il se produise. -------------------- C'est parce que la vitesse de la lumière est plus grande que celle du son que tant de gens paraissent brillants avant d'avoir l'air con
|
|
|
20 Feb 2018, 08:24
Message
#4
|
|
Adepte de Macbidouille Groupe : Membres Messages : 41 Inscrit : 30 Dec 2009 Lieu : Bordeaux Membre no 147 833 |
La société vient de réagir en proposant au public iOS 11.2.6, watchOS 4.2.3, tvOS 11.2.6, et macOS High Sierra 10.13.3 qui corrigent ce problème. Lien vers le billet original Bonjour, Il me semble que macOS High Sierra 10.13.3 n'est pas le perdreau du jour… En fait, vérification faite, il s'agit d'une "Mise à jour supplémentaire de macOS High Sierra 10.13.3 " Ce message a été modifié par Kolosse - 20 Feb 2018, 08:26. -------------------- Mon 1er Mac ? Un Macintosh 128k en 1984… et oui !
|
|
|
20 Feb 2018, 08:45
Message
#5
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 835 Inscrit : 16 Nov 2003 Membre no 11 701 |
@gigatoaster
Pour parler d'OpenOffice que je connais, la plupart du temps, ce sont des problèmes remontés par les utilisateurs. En effet, plus le nombre d'utilisateurs est important, et plus il est probable que quelqu'un passe par le cas qui pose problème. Mais ce n'est pas la seule possibilité. Une autre façon de trouver des bugs, c'est par exemple en créant des fichiers "corrompus" avec une méthode donnée. Exemple : dans un fichier .odt, on ajoute du bruit dedans, de façon aléatoire. Ensuite, on essaye de l'ouvrir et de l'utiliser. C'est ce que faisant thb pour les fichiers Impress. ça a plutôt bien fonctionné, car il a trouvé quelques problèmes sérieux de cette façon (et dont la résolution ne fût pas si simple). @Lionel : au sujet de "corriger le bug avant qu'il ne se reproduise", je me permets d'ajouter que la plus grosse difficulté de celui qui essaye de corriger est d'arriver à faire la différence entre le quoi (le "what") et le pourquoi (le "why" ). Corriger le what revient à mettre un pansement sur une jambe de bois, et on n'a rien corrigé. Et on n'est jamais sûr d'avoir vraiment corrigé le why. Souvent parce que le plus difficile est de comprendre le mécanisme du bug, de le reproduire avec certitude, et d'en donner une solution qui n'amène pas d'autres problèmes. Pour citer un cas d'école (c'est rarement aussi simple, mais l'exemple qui suit est symbolique): si dans mon code, je trouve un pointeur NULL (une adresse non définie)**, que fais-je la plupart du temps ? 1. si l'adresse n'est pas définie, je n'exécute pas un bloc donné ? 2. j'essaye de savoir pourquoi cette valeur n'est pas définie (et je corrige, bien sûr) ? **En C, dans un programme quand on a une adresse égale à 0, c'est qu'on a oublié de la définir. C'est comme si on envoyait du courrier à quelqu'un mais sans mettre l'adresse sur l'enveloppe, alors que le contenu est bien dans l'enveloppe. Lors de la création du binaire, le compilateur est sympa, il nous prévient avec un avertissement ("warning") qu'une adresse n'est pas définie et lui attribue la valeur zéro. En fonctionnement, quand on essaye d'écrire à l'adresse 0 (notée 0x0) on n'a pas le droit, et ça donne un "crash" : le programme s'arrête. Celui qui débugue, teste toujours si quelque chose vaut 0 ou pas (c'est la base). Edit : typos -- qɔᴉɹə L'association EducOOo : http://www.educoo.org https://github.com/ebachard Ce message a été modifié par ericb2 - 20 Feb 2018, 08:50. |
|
|
20 Feb 2018, 09:26
Message
#6
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 649 Inscrit : 24 Jun 2004 Lieu : Grenoble Membre no 20 409 |
N'est ce pas un peu moyen que de corriger seulement la dernière version de l'OS ?
La sécurité s'apprécie sur l'ensemble de la plateforme, pas juste les tous derniers produits. |
|
|
20 Feb 2018, 09:31
Message
#7
|
|
BIDOUILLE Guru Groupe : Admin Messages : 55 316 Inscrit : 14 Jan 2001 Lieu : Paris Membre no 3 |
N'est ce pas un peu moyen que de corriger seulement la dernière version de l'OS ? La sécurité s'apprécie sur l'ensemble de la plateforme, pas juste les tous derniers produits. Tu le sais, Apple avance à marche forcée dans le développement logiciel. Ils n'ont pas les moyens humains de "perdre du temps". macOS, iOS, watchOS, tvOS, et maintenant le HomePod, et le tout en synchronisé et avec des dates de sorties planifiées. Pas pour rien qu'ils veulent ralentir dans les nouveautés, cela devient trop dur et il est très compliqué d'élargir la base de la pyramide de ceux qui développent sans tout élargir avec de nouveaux échelons qui ralentissent l'arrivée à la pointe. -------------------- C'est parce que la vitesse de la lumière est plus grande que celle du son que tant de gens paraissent brillants avant d'avoir l'air con
|
|
|
20 Feb 2018, 09:36
Message
#8
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 694 Inscrit : 16 Sep 2002 Lieu : Paris Membre no 3 528 |
Oui, quid des 3 ou 4 précédentes versions système ?
Bug present/absent ? À corriger ? -------------------- MBair 11" 1.7ghz 128go 4go ram
Tsunagari Taiko Center : L'art positif au service de la Vie, Tambour et danse Japonaise. |
|
|
20 Feb 2018, 11:02
Message
#9
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 12 571 Inscrit : 25 Nov 2001 Membre no 1 397 |
quid de la versions précédente et celle d'avant système ?
Bug present/absent ? À corriger ? |
|
|
20 Feb 2018, 13:45
Message
#10
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 1 649 Inscrit : 24 Jun 2004 Lieu : Grenoble Membre no 20 409 |
N'est ce pas un peu moyen que de corriger seulement la dernière version de l'OS ? La sécurité s'apprécie sur l'ensemble de la plateforme, pas juste les tous derniers produits. Tu le sais, Apple avance à marche forcée dans le développement logiciel. Ils n'ont pas les moyens humains de "perdre du temps". macOS, iOS, watchOS, tvOS, et maintenant le HomePod, et le tout en synchronisé et avec des dates de sorties planifiées. Pas pour rien qu'ils veulent ralentir dans les nouveautés, cela devient trop dur et il est très compliqué d'élargir la base de la pyramide de ceux qui développent sans tout élargir avec de nouveaux échelons qui ralentissent l'arrivée à la pointe. Je comprends parfaitement cela mais il n'en demeure pas moins qu'il y a une base installée macOSet que la dernière version de High Sierra n'en représente qu'une partie <http://gs.statcounter.com/macos-version-ma...sktop/worldwide>. MacBidouille s'est suffisamment fait l'écho du fait que les pirates passent pas les vieux Windows XP ou autres non sécurités pour que le même reproche ne soit fait à Apple. Il me semble qu'il sera de plus en plus intenable pour Apple de présenter macOS comme plus sûr que la concurence si la moitié ou plus de la base installée est gravement vulnérable. |
|
|
20 Feb 2018, 13:49
Message
#11
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 796 Inscrit : 24 Dec 2006 Lieu : "Over The Rainbow" Membre no 76 401 |
élargir la base de la pyramide de ceux qui développent sans tout élargir avec de nouveaux échelons qui ralentissent l'arrivée à la pointe. Même d'en parler clairement ça devient trop dur -------------------- - Macbook Pro M1 Pro 16.2"
- Macbook Pro TouchBar 15.4" T1 - 512GB/core i7@2,7Ghz - A VENDRE - Clavier neuf et batterie neuve, changés début 2023 (Garanti 6 mois) - SSD Samsung nVme toujours à 2,5GB/s - Gris sidéral - Macbook Air 13,3" core i5 - iMac 27" core i5 - iPhone14 - Apple Watch 8 - Fbx Delta Devialet |
|
|
20 Feb 2018, 17:27
Message
#12
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 931 Inscrit : 2 Jun 2002 Lieu : France Membre no 2 604 |
**En C, dans un programme quand on a une adresse égale à 0, c'est qu'on a oublié de la définir. C'est comme si on envoyait du courrier à quelqu'un mais sans mettre l'adresse sur l'enveloppe, alors que le contenu est bien dans l'enveloppe. Lors de la création du binaire, le compilateur est sympa, il nous prévient avec un avertissement ("warning") qu'une adresse n'est pas définie et lui attribue la valeur zéro. En fonctionnement, quand on essaye d'écrire à l'adresse 0 (notée 0x0) on n'a pas le droit, et ça donne un "crash" : le programme s'arrête. Celui qui débugue, teste toujours si quelque chose vaut 0 ou pas (c'est la base). Dans quel univers alternatif une adresse égale à 0 signifie qu'on a oublié de la définir ? Quand une valeur (pas besoin que cela soit une adresse) n'a pas été définie, elle prend la valeur qu'il y a à son emplacement mémoire et si cette valeur est 0, c'est juste un coup de bol (ou alors qu'on builde en debug) Si on oublie de définir une valeur, le compilateur s'en tape même avec des options agressives. C'est le static analyzer qui permettra de débusquer des problèmes de ce genre : e.g. char * toto; printf("%s",toto); Y a que la commande Xcode > Product > Analyze qui signale un problème. Et un Run en Release affiche n'importe quoi. Ce message a été modifié par reversi - 20 Feb 2018, 17:27. |
|
|
20 Feb 2018, 17:58
Message
#13
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 15 366 Inscrit : 4 Jan 2006 Lieu : dtq Membre no 52 877 |
+1
-------------------- Utilisateur de Mac depuis 1985 et possesseur de Mac depuis 2005. Utilisateur d'un PC Lenovo au travail, sous Windows, qui renforce ma passion pour les Mac!
|
|
|
20 Feb 2018, 18:38
Message
#14
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 835 Inscrit : 16 Nov 2003 Membre no 11 701 |
@reversi
Je ne sais pas si ça répond à ta question, mais voici l'exemple que j'ai en tête : CODE /* buggy.c */ #include <stdio.h> #include <stdlib.h> static char buf[256]; void lit_entree (char *); int main (void) { char * entree;// = NULL; // décommenter pour ne pas avoir le crash //entree = buf; lit_entree (entree); fprintf (stdout, "Vous avez tape : %s\n", entree); return EXIT_SUCCESS; } void lit_entree (char *s) { short int anErr = (fgets(s, sizeof(buf), stdin) == NULL); if ( anErr != 0 ) fprintf(stdout, "Problème avec la valeur saisie \n"); } Que j'ai compilé avec : gcc -Iinc -Wall -O3 -ansi -pedantic -std=c99 -g -DDEBUG -o build/buggy_debug buggy.c buggy.c: In function ‘main’: buggy.c:22:3: warning: ‘entree’ is used uninitialized in this function [-Wuninitialized] lit_entree (entree); Et à l'éxecution : Reading symbols from buggy_debug...done. (gdb) b 1 Breakpoint 1 at 0x400510: file buggy.c, line 1. (gdb) r Starting program: /home/eric/Devel/buggy/build/buggy_debug warning: the debug information found in "/lib64/ld-2.23.so" does not match "/lib64/ld-linux-x86-64.so.2" (CRC mismatch). Breakpoint 1, main () at buggy.c:10 10 { (gdb) n 22 lit_entree (entree); (gdb) p entree $1 = 0x0 (gdb) p *entree Cannot access memory at address 0x0 (gdb) n azer Program received signal SIGSEGV, Segmentation fault. __GI__IO_getline_info (fp=fp@entry=0x7ffff7dd18e0 <_IO_2_1_stdin_>, buf=buf@entry=0x0, n=254, n@entry=255, delim=delim@entry=10, extract_delim=extract_delim@entry=1, eof=eof@entry=0x0) at iogetline.c:77 77 iogetline.c: Aucun fichier ou dossier de ce type. Mais tu as raison, j'ai utilisé une version debug. Edit : j'ai mis la bonne ligne de commande (mon makefile compile automatiquement les 2 versions : sans / avec symboles) + recopié exactement ce que j'ai avec gdb64 Ce message a été modifié par ericb2 - 20 Feb 2018, 18:45. |
|
|
20 Feb 2018, 18:43
Message
#15
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 7 118 Inscrit : 24 Sep 2015 Lieu : Pays d'Aix Membre no 196 570 |
-------------------- Bobo du Pays d'Aix et Fanboy Apple
|
|
|
20 Feb 2018, 18:54
Message
#16
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 835 Inscrit : 16 Nov 2003 Membre no 11 701 |
@Hebus : il a été écrit avec MS Office ce pdf ?
Edit : ça fait presque 300 pages, mais c'est intéressant. J'avais beaucoup aimé celui-là (format slideshare ou pdf au choix) : https://olvemaudal.com/2011/10/10/deep-c/ Ce message a été modifié par ericb2 - 20 Feb 2018, 19:00. |
|
|
20 Feb 2018, 18:59
Message
#17
|
|
Macbidouilleur de vermeil ! Groupe : Membres Messages : 1 437 Inscrit : 22 Jul 2001 Membre no 531 |
Personne n’a de problème avec cette MaJ?
Mon MacPro (5.1 avec une Saphire RX460) ne sort plus de veille depuis. Le ventilo de la carte graphique tourne au ralenti, les ports USB semblent désactivés (la diode sur le clavier USB ne s’allume plus et rien ne se passe quand je branche une souris filière pendant la veille ). La diode en dessus du bouton d’allumage clignote normalement (pour de la veille). J’ai vidé la PRAM, reseté le SMC. Ça marche pas. J’ai également essayé la combine qui réglait le problème de veille avec les Radeon RX 470/480 et 570/580 mais ça ne semble pas efficace pour les 460... Ce message a été modifié par neo - 20 Feb 2018, 19:00. -------------------- MacPro 5.1 de 2012: 6x 3.46Ghz (CPU upgrade) | 20 Go | RX580 Pulse 8Go | 2x SSD sur carte PCI Sonnet Tempo | USB 3 sur carte PCI
MacBook Pro mid-2010 15 pouces | i7 2.66 Ghz | 8Go | "downgradé" avec un patch logiciel pour éviter le switch sur le GPU nVidia buggé, qu'Apple refuse de réparer |
|
|
20 Feb 2018, 19:12
Message
#18
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 5 678 Inscrit : 11 Feb 2003 Lieu : Bagneux Membre no 6 110 |
quid de la versions précédente et celle d'avant système ? Bug present/absent ? À corriger ? ben le principe des versions qui montent c'est justement d'oublier la précédente version, donc tu tournes sur une version antérieure c'est ton problème tu as faux, et tu assumes!!! De plus les bugs rencontrés sont souvent des bugs liés aux nouvelles fonctionnalités ou des régressions par rapport à la version précédente mais dans les deux cas l'ancienne version n'est pas touchée Ce message a été modifié par roseau - 20 Feb 2018, 19:14. -------------------- Imac 2017 core I7 , 2*MBP2015 core I7, Macmini late 2014 core I5 16 go 10.11/maverick MBp , Mbp 15" late 2014 core i7 16 go 10.11; Macmini 2011 core i5 ( 10.9), , , Xserve/2008/ 1 2,8ghz quad-core xeon/osx server 10.9.4/mem 18 go/carte raid 3*1to raid 5,Antiquité fonctionelle :Imac debut 2010 10.5.8MBPRO 13" fin 2010 10.9, macbookpro 17" juin 2007 10.5.8, Macmini core 2 duo 1,8 /1024mo/10.5.8, Macmini 1,42/1024mo/10.4.11,G4 mono 1.25 (MDD 2003) /1500mo/10.4.11 server , 4400 200 upgrade g3/400,4400 240 , , 7100 80/,
antiquite 6320 lc 630, powerbook 180c,powerbook duo 210, Mac classic (panne vidéo) Mac SE...,os 10.4* , 10.3.9, os9.1/os8.1, os7.6, NAS CS407 Synology 4*500go (raid 5), |
|
|
20 Feb 2018, 22:05
Message
#19
|
|
Macbidouilleur d'argent ! Groupe : Membres Messages : 617 Inscrit : 26 Oct 2005 Lieu : Bruxelles Membre no 48 744 |
Au fait, mais comment un caractère fait planter un OS? C'est quoi le problème en fait?
-------------------- "Be smarter than stupid people" (www.imparato.be) - https://ilovemymac.be - Mon blog photo: www.imparato.be/blog |
|
|
20 Feb 2018, 22:22
Message
#20
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 15 366 Inscrit : 4 Jan 2006 Lieu : dtq Membre no 52 877 |
Au fait, mais comment un caractère fait planter un OS? C'est quoi le problème en fait? Très bonne question dont j'aimerais bien connaître la réponse, si tant est que ça ne soit pas une backdoor intentionnellement créée... -------------------- Utilisateur de Mac depuis 1985 et possesseur de Mac depuis 2005. Utilisateur d'un PC Lenovo au travail, sous Windows, qui renforce ma passion pour les Mac!
|
|
|
26 Feb 2018, 22:37
Message
#21
|
|
Macbidouilleur de bronze ! Groupe : Membres Messages : 273 Inscrit : 23 Aug 2003 Membre no 9 180 |
@gigatoaster Pour parler d'OpenOffice que je connais, la plupart du temps, ce sont des problèmes remontés par les utilisateurs. En effet, plus le nombre d'utilisateurs est important, et plus il est probable que quelqu'un passe par le cas qui pose problème. Mais ce n'est pas la seule possibilité. Une autre façon de trouver des bugs, c'est par exemple en créant des fichiers "corrompus" avec une méthode donnée. Exemple : dans un fichier .odt, on ajoute du bruit dedans, de façon aléatoire. Ensuite, on essaye de l'ouvrir et de l'utiliser. C'est ce que faisant thb pour les fichiers Impress. ça a plutôt bien fonctionné, car il a trouvé quelques problèmes sérieux de cette façon (et dont la résolution ne fût pas si simple). @Lionel : au sujet de "corriger le bug avant qu'il ne se reproduise", je me permets d'ajouter que la plus grosse difficulté de celui qui essaye de corriger est d'arriver à faire la différence entre le quoi (le "what") et le pourquoi (le "why" ). Corriger le what revient à mettre un pansement sur une jambe de bois, et on n'a rien corrigé. Et on n'est jamais sûr d'avoir vraiment corrigé le why. Souvent parce que le plus difficile est de comprendre le mécanisme du bug, de le reproduire avec certitude, et d'en donner une solution qui n'amène pas d'autres problèmes. Pour citer un cas d'école (c'est rarement aussi simple, mais l'exemple qui suit est symbolique): si dans mon code, je trouve un pointeur NULL (une adresse non définie)**, que fais-je la plupart du temps ? 1. si l'adresse n'est pas définie, je n'exécute pas un bloc donné ? 2. j'essaye de savoir pourquoi cette valeur n'est pas définie (et je corrige, bien sûr) ? **En C, dans un programme quand on a une adresse égale à 0, c'est qu'on a oublié de la définir. C'est comme si on envoyait du courrier à quelqu'un mais sans mettre l'adresse sur l'enveloppe, alors que le contenu est bien dans l'enveloppe. Lors de la création du binaire, le compilateur est sympa, il nous prévient avec un avertissement ("warning") qu'une adresse n'est pas définie et lui attribue la valeur zéro. En fonctionnement, quand on essaye d'écrire à l'adresse 0 (notée 0x0) on n'a pas le droit, et ça donne un "crash" : le programme s'arrête. Celui qui débugue, teste toujours si quelque chose vaut 0 ou pas (c'est la base). Edit : typos -- qɔᴉɹə L'association EducOOo : http://www.educoo.org https://github.com/ebachard Mais alors la faille est dans le compilateur C, qui devrait terminer en erreur. |
|
|
27 Feb 2018, 08:37
Message
#22
|
|
Macbidouilleur d'Or ! Groupe : Membres Messages : 5 678 Inscrit : 11 Feb 2003 Lieu : Bagneux Membre no 6 110 |
@gigatoaster Pour parler d'OpenOffice que je connais, la plupart du temps, ce sont des problèmes remontés par les utilisateurs. En effet, plus le nombre d'utilisateurs est important, et plus il est probable que quelqu'un passe par le cas qui pose problème. Mais ce n'est pas la seule possibilité. Une autre façon de trouver des bugs, c'est par exemple en créant des fichiers "corrompus" avec une méthode donnée. Exemple : dans un fichier .odt, on ajoute du bruit dedans, de façon aléatoire. Ensuite, on essaye de l'ouvrir et de l'utiliser. C'est ce que faisant thb pour les fichiers Impress. ça a plutôt bien fonctionné, car il a trouvé quelques problèmes sérieux de cette façon (et dont la résolution ne fût pas si simple). @Lionel : au sujet de "corriger le bug avant qu'il ne se reproduise", je me permets d'ajouter que la plus grosse difficulté de celui qui essaye de corriger est d'arriver à faire la différence entre le quoi (le "what") et le pourquoi (le "why" ). Corriger le what revient à mettre un pansement sur une jambe de bois, et on n'a rien corrigé. Et on n'est jamais sûr d'avoir vraiment corrigé le why. Souvent parce que le plus difficile est de comprendre le mécanisme du bug, de le reproduire avec certitude, et d'en donner une solution qui n'amène pas d'autres problèmes. Pour citer un cas d'école (c'est rarement aussi simple, mais l'exemple qui suit est symbolique): si dans mon code, je trouve un pointeur NULL (une adresse non définie)**, que fais-je la plupart du temps ? 1. si l'adresse n'est pas définie, je n'exécute pas un bloc donné ? 2. j'essaye de savoir pourquoi cette valeur n'est pas définie (et je corrige, bien sûr) ? **En C, dans un programme quand on a une adresse égale à 0, c'est qu'on a oublié de la définir. C'est comme si on envoyait du courrier à quelqu'un mais sans mettre l'adresse sur l'enveloppe, alors que le contenu est bien dans l'enveloppe. Lors de la création du binaire, le compilateur est sympa, il nous prévient avec un avertissement ("warning") qu'une adresse n'est pas définie et lui attribue la valeur zéro. En fonctionnement, quand on essaye d'écrire à l'adresse 0 (notée 0x0) on n'a pas le droit, et ça donne un "crash" : le programme s'arrête. Celui qui débugue, teste toujours si quelque chose vaut 0 ou pas (c'est la base). Edit : typos -- qɔᴉɹə L'association EducOOo : http://www.educoo.org https://github.com/ebachard Mais alors la faille est dans le compilateur C, qui devrait terminer en erreur. un compilateur ça compile , il contrôle la syntaxe par rapport à une grammaire, il ne detectera jamais une erreur de logique -------------------- Imac 2017 core I7 , 2*MBP2015 core I7, Macmini late 2014 core I5 16 go 10.11/maverick MBp , Mbp 15" late 2014 core i7 16 go 10.11; Macmini 2011 core i5 ( 10.9), , , Xserve/2008/ 1 2,8ghz quad-core xeon/osx server 10.9.4/mem 18 go/carte raid 3*1to raid 5,Antiquité fonctionelle :Imac debut 2010 10.5.8MBPRO 13" fin 2010 10.9, macbookpro 17" juin 2007 10.5.8, Macmini core 2 duo 1,8 /1024mo/10.5.8, Macmini 1,42/1024mo/10.4.11,G4 mono 1.25 (MDD 2003) /1500mo/10.4.11 server , 4400 200 upgrade g3/400,4400 240 , , 7100 80/,
antiquite 6320 lc 630, powerbook 180c,powerbook duo 210, Mac classic (panne vidéo) Mac SE...,os 10.4* , 10.3.9, os9.1/os8.1, os7.6, NAS CS407 Synology 4*500go (raid 5), |
|
|
Nous sommes le : 19th March 2024 - 12:31 |