begin process at 2010 03 19 17:57:30
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

Problème malloc sous RedHat 7.3


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème malloc sous RedHat 7.3

lundi 3 mai 2004 à 15:28:05 | Problème malloc sous RedHat 7.3

deuchman

Salut à tous !
Voilà, j'ai un problème avec un programme C sous une RedHat 7.3.
Lorsque j'utilise la fonction mallc pour allouer de la mémoire à un tableau ( se tableau se situe dans un structure ), le système me répond "Segmentation fault".

Ma RedHat tourne en vmware.

J'ne sais vraiment pas ce que c'est !! Dans mon code, au préalable, je fais exactement les mêmes choses plusieurs foit mais pas pour le meme tableau (meme structure par contre).

J'vous donne le bout de code qui merde :

if (isinline((line+2),"SETEPATH")){
found=0;
for (j=0;j<l;j++){
strcpy(tmp,xpath(ptrlig[j]));
XGFPATH.encoding[j]=(char *) malloc(strlen(tmp));
XGFPATH.Nenc=l;
strcpy(XGFPATH.encoding[j],tmp);
}

Voilà... bon ben je dit merci déjà a tous ceu qui m'auront lut, aider voir débugger.
Merci.
lundi 3 mai 2004 à 19:14:58 | Re : Problème malloc sous RedHat 7.3

AlexMAN

Membre Club
Euh t sur ke c malloc ki plante ?
Tout d'abord, segmentation fault, ca signifie kil ya un debordement de tampon, or je vois un joli strcpy !! Remplace ton strcpy par un strncpy, et puis tu nora plus de pb de ce genre...

Utilises toujours les fonction cousine de strcpy, strcat : STRNCPY, STRNCAT...

Tu evitera tout pb de buffer overflow ou otre...

Voila si c pas ca, tu re, et j'essairai de trouver mais logikment, c ca...

VOila !

Bonne prog !

++
Alhexman
mardi 4 mai 2004 à 06:52:43 | Re : Problème malloc sous RedHat 7.3

deuchman


C super sympa tt ca....
le seul soucis, c que au debug, j'plante sur la ligne :
XGFPATH.encoding[j]=(char *) malloc(strlen(tmp));
et que le strcpy s'effectue correctement.

Parcontre, j'ai réduis les tailles de mes tableau dans la structure XGFPATH et la ca fonctionne, est ce qu'il n'y a pas une histoire pour allouer de la place et a la structure puis ensuite au variables de celle ci ???

Merci -j&b
mardi 4 mai 2004 à 17:35:20 | Re : Problème malloc sous RedHat 7.3

AlexMAN

Membre Club

Tu pourrais poster ta structure stp
Mais dans ta structure, ta pas fait

struct Type{
char huk[20];
};

huk = (char *)malloc(20 * sizeof(char));

Paske si tu initialise l'espace dans ton initialisation puis dinamykement, ca fonctionnera pa...
enfin poste, apres jte dirai

++
mercredi 5 mai 2004 à 09:37:27 | Re : Problème malloc sous RedHat 7.3

deuchman


Voilà :

struct
{
...
char *encoding[8];
...
} XGFPATH;

et derrierère....plus loin :
XGFPATH.encoding[j]=(char *) malloc(strlen(tmp));

Et ca merde, uniquement sur RedHat 7.3, sous Mandrake ou Windows, ca fonctionne tres bien ! (RedHat et Mandrake en vmware)

Alors, j'ai chercher, et j'me suis appercu que si je diminuer la taille ( *encoding[2] ) ca fonctionnait (ca va plus loin dans le code et que si j'augmentai (*encoding[18] ) j'plantait sur un malloc précédent. J'ai 5 tableau du même style dans ma structure. J'ai comme l'impression qu'il n'a pas assez de mémoire pour m'allouer ce que j'ai besoin...

Merci pour tt !
-j&b-
mercredi 5 mai 2004 à 09:46:54 | Re : Problème malloc sous RedHat 7.3

deuchman

Pi en plus, j'vien de réfléchir a ce que tu as écrit :
struct Type {
char Huk[20];
}

Huk de 20, initialise pas la mémoire, mais définis simplement qu'il y 19 char + \x0 possible dans ce tableau, non ?

++
mercredi 5 mai 2004 à 13:00:48 | Re : Problème malloc sous RedHat 7.3

AlexMAN

Membre Club
uè c exact, kan tu definis une variable du style :

char sCOucou[25];

le 24ème est réservé a '\0' (paske le premier indice est a 0...)


Cette discussion est classée dans : problème, tableau, tmp, malloc, redhat


Répondre à ce message

Sujets en rapport avec ce message

Problème de tableau sans solution? [ par PsyCaDi ] Problème de tableau ! [ par Xentor ] Bonjour,Je voudrais déclarer un tableau de caractères en variable générale et pouvoir modifier sa taille dans une fonction !Exemple (écrit en direct, traitement de tableau dans une routine asm [ par anosan ] Salut tout le monde,J'explique mon problème: dans un programme en C++(borland c++builder6), j'ai declaré un tableau. Pour le traiter efficassement, j' vc++ -> vb6 retour de fonctions (c) de type tableau en vb!! [ par matever ] Bonjours à tous!je dispose d'une fonction appartenant à une dll:POINT BUF_TMP[500];//globalPOINT * ENVOIS_BUF_TMP(){ MessageBox( NULL, "Envoi du tabl pouvoir lire un entier en tant que tableau (bit à bit) [ par platinum07 ] Amis codeurs, bonjour !Je suis sur un petit problème depuis quelques heures... la solution est surement sous mon nez mas je ne trouve pas <img src=/im [C] Pb Malloc avec des variables... variables[?] [ par Cow_B ] Salut à tous !! :)J'ai un tout petit souci :je voudrais faire une saisie au clavier d'un texte dont je ne connais pas la longueur. Voilà ce que je fai problème espace mémoire [ par borgeomi ] borgeomibonjouuuuuuur !!!!!encore une question stupide d'un programmeur cobol MVSsous VISUAL C ++ 6J'ai crée une classe Personne du stylePersonne Tab Pb pour lire un tbl [ par Stepharcher ] Bonjours à tous !Je vous explique mon problème : j'utilise la fonction GetDIBits qui me donne un tableau de pixel.Jj'ai 2 soucis : le tableau est décl Problème d'entrée (cin >>) dans un tableau de float [ par Oeil_de_taupe ] Hello tout le monde,désolé de vous importuné. Mais j'ai fait une toute petite source pour apprendre à allouer de la mémoire pour une variable puis de encore desole mais toujours pas de reponse.... :( [ par DevGizmo ] Bonjour,Encore desole de revenir avec mon probleme mais je n'ai pas d'issue. En effet, je cherche a lire ligne par ligne mon tableau 2D avec un pointe


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales