SEARCH KEYWORD -- BUG
An experience of fixing a memory-corruption bug
During the last 4 months, I was disturbed by a memory-corruption bug, and this bug will cause program crash. Until last Monday, I found the root cause and fixed it. This debug process is a difficult but memorable experience, so I will share it in this article. My program works as a SMS Hub. When it receives a SMS, it will allocate a structure in heap memory like this: typedef struct { ...... int *a[8]; ...... } info; After processing the SMS, the program will free the m...
c, debug, unix, solaris, multi-thread 2014-05-04 03:52:43
Crash your Chrome with %%30%30
Have you ever wondered a simple string can crash one of the most sophisticated designed web browsers -- Chrome? There is a finding from Andris Atteka who found that a null string "%%30%30" appended to an URL can crash Chrome. For example, if you have below URL in your browser address bar or you mouse over below URL, Chrome will crash: http://www.pixelstech.net/%%30%30 When the browser crashed, it may show : Or on Windows, you will see : This bug has been reported to Google at Is...
HeartBleed: Inside the heart, what causes the bleeding?
Just after a few weeks since Apple's famous goto fail bug, there is one bug in OpenSSL which catches the attention from the world again. The bug is named HeartBleed, found in OpenSSL library, a famous open source library supporting lots of SSL/TLS communication among server/client applications. The reason why this bug catches the attentions from the world is it affects almost all sites which are using the affected OpenSSL library, these includes many applications like Nginx server, some v...
OpenSSL,HeartBleed 2014-04-09 05:47:30
Step-by-Step Guide: How to Choose a Website Developer
A software development partner greatly affects the success and performance of your online project it is involved in. Therefore, it is so important to approach your IT partner selection with special care and responsibility. Find below the main steps and decisions you need to make in order not to fail in this business. Step 1: Decide What Tasks the New Site Should Perform The main goal of any business (and a website) is to generate and grow profits. You shouldn't create or update a site just...
WEBSITE DEVELOPER,WEB DESIGN 2020-08-26 03:56:41
A trap in PDOStatement::bindParam
First, let's check out below codes: <?php $dbh = new PDO('mysql:host=localhost;dbname=test', "test"); $query = <<prepare($query); $bind_params = array(':username' => "laruence", ':password' => "weibo"); foreach( $bind_params as $key => $value ){ $statement->bindParam($key, $value); } $statement->execute(); What is the SQL executed finally? Is there any problem with above codes? Many people may think the query executed is : INSERT INTO `user` (`username`, `password...
The requirements of DevOps development
DevOps has become a popular and commonly adopted software development model in IT industry in recent years. Its popularity is partially because it advocates it could improve software development efficiency, delivery speed and cost saving. This is especially favored by managers who become the main force to promote this type of development model in their companies. However, we must be cautious about DevOps model as well. With their advantages, they also bring challenges to development teams and th...
Why do I need a debugger?
When I begin to learn a new programming language, I will try and master the debugger for it as early as possible. For example, in 2013, while I touched the Go, there seems only gdb for use. Although gdb itself is not a good choice (From Debugging Go Code with GDB): As a consequence, although GDB can be useful in some situations, it is not a reliable debugger for Go programs, particularly heavily concurrent ones. But at that time there was no other choice. So after delve&nb...
Check file readability in Java
File operation is quite platform dependent. Although Java is a cross platform programming language, the file operation in Java is also platform dependent. The obvious evidence is the file permission check. In Java, we can call canRead(), canWrite() and canExecutable() to check whether the program can read, write or execute the file specified. However, on Windows, when we call canRead() on a File object, we may get unexpected result. Actually, on Windows, when we call canRead() on a File object, ...
People working with computers seem to have a lot of spare time
People working with computers are a group of people who spend much time on communicating with PCs, Handsets and other programmed hardware devices. Usually, these people are thought as a group of busy people. When we see them, they are often sleepy and seem not caring about anything else. They often work day and night, spend many hours on finding and fixing an unknown bug or trying to meet the project deadline Are they really so busy? Lets see what some people think about them? Just f...
Programming,Busy,Spare time,Fun 2012-05-01 07:06:51
Mutli-inheritance bug between python 2.7 and 3.7
When we have run a py3.7 code under py2.x or a py2.x code under 3.x ,if a class do mutli-inheritance from 2 parent and the 2 parents also got inheritance from same parent, the different way to handle inheritance chain between python 2 and 3 will cause some running time bug: Assume we got this sample program inheritTest.py : # Purpose: Test mutli-inheritance different between python2 and 3 # Author: Yuancheng Liu # Created: 2019/05/16 class A: def getVal(self): print("cal...
PYTHON,PYTHON 3,INHERITANCE 2019-05-16 08:33:52
RECENT
- How Artificial Intelligence Is Helping Fight Environmental Challenges
- How to Deal with Accusations of Negligence as a Business
- Google's Business Operations in China Amid Antitrust Scrutiny
- Deploying DeepSeek-R1 Locally with a Custom RAG Knowledge Data Base
- Balancing Convenience and Security in the Digital World
- My AI Learning Journey: Exploring the Future of Technology
- Power Grid Simulation System 02 : FDI Power Outage Attack Case Study
- Be Careful When Using Cursor to Help Build Application
- Calculating Token Count for Claude API Using Go: A Step-by-Step Guide
- Understanding Cursor and WindSurf's Code Indexing Logic
- more>>